Tenía una categoría principal (categoría principal) cuyo id = 10. Quiero repetir solo sus subcategorías. ¿Cómo puedo hacer eso?¿Cómo obtener las subcategorías de una categoría principal específica?
25
A
Respuesta
64
$children = Mage::getModel('catalog/category')->getCategories(10);
foreach ($children as $category) {
echo $category->getName();
}
7
Este código puede ayudar si usted quiere conseguir la categoría infantil de cada categoría actual
<?php
$layer = Mage::getSingleton('catalog/layer');
$_category = $layer->getCurrentCategory();
$currentCategoryId= $_category->getId();
$children = Mage::getModel('catalog/category')->getCategories($currentCategoryId);
foreach ($children as $category)
{
echo $category->getName(); // will return category name
echo $category->getRequestPath(); // will return category URL
}
?>
2
<?php
$parentCategoryId = 107;
$cat = Mage::getModel('catalog/category')->load($parentCategoryId);
$subcats = $cat->getChildren();
// Get 1 Level sub category of Parent category
foreach(explode(',',$subcats) as $subCatid)
{
$_category = Mage::getModel('catalog/category')->load($subCatid);
if($_category->getIsActive()) {
echo '<ul><a href="'.$_category->getURL().'" title="View the products for the "'.$_category->getName().'" category">'.$_category->getName().'</a>';
echo '</ul>';
}
}
?>
Si desea 2 niveles, 3 niveles, 4 Nivel o n subcategorías Nivel de la categoría padre de Click Here
6
Otra forma:
$children = Mage::getModel('catalog/category')->load(10)->getChildrenCategories();
foreach ($children as $category):
$category = Mage::getModel('catalog/category')->load($category->getId());
echo '<li><a href="' . $category->getUrl() . '">' . $category->getName() . '</a></li>';
endforeach;
1
Esta es mi solución
<?
// Project :
// File :
// Author : Hidayet Ok ([email protected])
require_once('./app/Mage.php');
Mage::app("default");
$rootcatId = Mage::app()->getStore()->getRootCategoryId();
$root_cat = Mage::getModel('catalog/category')->load($rootcatId);
$categories = get_child_categories($root_cat);
echo "<pre>";
print_r($categories);
echo "</pre>";
function get_child_categories($parent) {
$cat_model = Mage::getModel('catalog/category');
$categories = $cat_model->load($parent->getId())->getChildrenCategories();
$ret_arr = array();
foreach ($categories as $cat)
{
$ret_arr[] = array(
'cat_id' => $cat->getId(),
'cat_name' => $cat->getName(),
'cat_url' => $cat->getUrl(),
'child_cats' => get_child_categories($cat),
);
} // foreach sonu
return $ret_arr;
} // function sonu ##############
?>
y la salida es;
Array
(
[0] => Array
(
[cat_id] => 4
[cat_name] => Women
[cat_url] => http://XXXXXXXXXXXXX.grinet.com.tr/kategori/women.html
[child_cats] => Array
(
[0] => Array
(
[cat_id] => 10
[cat_name] => New Arrivals
[cat_url] => http://XXXXXXXXXXXXX.grinet.com.tr/kategori/women/new-arrivals.html
[child_cats] => Array
(
)
)
[1] => Array
(
[cat_id] => 11
[cat_name] => Tops & Blouses
[cat_url] => http://XXXXXXXXXXXXX.grinet.com.tr/kategori/women/tops-blouses.html
[child_cats] => Array
(
)
)
[2] => Array
(
[cat_id] => 12
[cat_name] => Pants & Denim
[cat_url] => http://XXXXXXXXXXXXX.grinet.com.tr/kategori/women/pants-denim.html
[child_cats] => Array
(
)
)
[3] => Array
(
[cat_id] => 13
[cat_name] => Dresses & Skirts
[cat_url] => http://XXXXXXXXXXXXX.grinet.com.tr/kategori/women/dresses-skirts.html
[child_cats] => Array
(
)
)
)
)
[1] => Array
(
[cat_id] => 5
[cat_name] => Men
[cat_url] => http://XXXXXXXXXXXXX.grinet.com.tr/kategori/men.html
[child_cats] => Array
(
[0] => Array
(
[cat_id] => 14
[cat_name] => New Arrivals
[cat_url] => http://XXXXXXXXXXXXX.grinet.com.tr/kategori/men/new-arrivals.html
[child_cats] => Array
(
)
)
[1] => Array
(
[cat_id] => 15
[cat_name] => Shirts
[cat_url] => http://XXXXXXXXXXXXX.grinet.com.tr/kategori/men/shirts.html
[child_cats] => Array
(
)
)
[2] => Array
(
[cat_id] => 16
[cat_name] => Tees, Knits and Polos
[cat_url] => http://XXXXXXXXXXXXX.grinet.com.tr/kategori/men/tees-knits-and-polos.html
[child_cats] => Array
(
)
)
[3] => Array
(
[cat_id] => 17
[cat_name] => Pants & Denim
[cat_url] => http://XXXXXXXXXXXXX.grinet.com.tr/kategori/men/pants-denim.html
[child_cats] => Array
(
)
)
[4] => Array
(
[cat_id] => 40
[cat_name] => Blazers
[cat_url] => http://XXXXXXXXXXXXX.grinet.com.tr/kategori/men/blazers.html
[child_cats] => Array
(
)
)
)
)
[2] => Array
(
[cat_id] => 6
[cat_name] => Accessories
[cat_url] => http://XXXXXXXXXXXXX.grinet.com.tr/kategori/accessories.html
[child_cats] => Array
(
[0] => Array
(
[cat_id] => 18
[cat_name] => Eyewear
[cat_url] => http://XXXXXXXXXXXXX.grinet.com.tr/kategori/accessories/eyewear.html
[child_cats] => Array
(
)
)
[1] => Array
(
[cat_id] => 19
[cat_name] => Jewelry
[cat_url] => http://XXXXXXXXXXXXX.grinet.com.tr/kategori/accessories/jewelry.html
[child_cats] => Array
(
)
)
[2] => Array
(
[cat_id] => 20
[cat_name] => Shoes
[cat_url] => http://XXXXXXXXXXXXX.grinet.com.tr/kategori/accessories/shoes.html
[child_cats] => Array
(
)
)
[3] => Array
(
[cat_id] => 21
[cat_name] => Bags & Luggage
[cat_url] => http://XXXXXXXXXXXXX.grinet.com.tr/kategori/accessories/bags-luggage.html
[child_cats] => Array
(
)
)
)
)
[3] => Array
(
[cat_id] => 7
[cat_name] => Home & Decor
[cat_url] => http://XXXXXXXXXXXXX.grinet.com.tr/kategori/home-decor.html
[child_cats] => Array
(
[0] => Array
(
[cat_id] => 22
[cat_name] => Books & Music
[cat_url] => http://XXXXXXXXXXXXX.grinet.com.tr/kategori/home-decor/books-music.html
[child_cats] => Array
(
)
)
[1] => Array
(
[cat_id] => 23
[cat_name] => Bed & Bath
[cat_url] => http://XXXXXXXXXXXXX.grinet.com.tr/kategori/home-decor/bed-bath.html
[child_cats] => Array
(
)
)
[2] => Array
(
[cat_id] => 24
[cat_name] => Electronics
[cat_url] => http://XXXXXXXXXXXXX.grinet.com.tr/kategori/home-decor/electronics.html
[child_cats] => Array
(
)
)
[3] => Array
(
[cat_id] => 25
[cat_name] => Decorative Accents
[cat_url] => http://XXXXXXXXXXXXX.grinet.com.tr/kategori/home-decor/decorative-accents.html
[child_cats] => Array
(
)
)
)
)
[4] => Array
(
[cat_id] => 8
[cat_name] => Sale
[cat_url] => http://XXXXXXXXXXXXX.grinet.com.tr/kategori/sale.html
[child_cats] => Array
(
[0] => Array
(
[cat_id] => 26
[cat_name] => Women
[cat_url] => http://XXXXXXXXXXXXX.grinet.com.tr/kategori/sale/women.html
[child_cats] => Array
(
)
)
[1] => Array
(
[cat_id] => 27
[cat_name] => Men
[cat_url] => http://XXXXXXXXXXXXX.grinet.com.tr/kategori/sale/men.html
[child_cats] => Array
(
)
)
[2] => Array
(
[cat_id] => 28
[cat_name] => Accessories
[cat_url] => http://XXXXXXXXXXXXX.grinet.com.tr/kategori/sale/accessories.html
[child_cats] => Array
(
)
)
[3] => Array
(
[cat_id] => 29
[cat_name] => Home & Decor
[cat_url] => http://XXXXXXXXXXXXX.grinet.com.tr/kategori/sale/home-decor.html
[child_cats] => Array
(
)
)
)
)
[5] => Array
(
[cat_id] => 9
[cat_name] => VIP
[cat_url] => http://XXXXXXXXXXXXX.grinet.com.tr/kategori/vip.html
[child_cats] => Array
(
)
)
)
0
para obtener todos los active
, así como inactive
subcategorías
$parent_category_id = 10;
$child_categories = Mage::getResourceModel('catalog/category_collection')
->addAttributeToSelect('*')
->addAttributeToFilter('is_active', array('in' => array(0,1)))
->addAttributeToFilter('parent_id', $parent_category_id);
foreach ($child_categories as $cat)
{
$sub_category_id = $cat->getId();
$sub_category_name = $cat->getName();
}
Cuestiones relacionadas
- 1. subcategorías Wordpress Usar plantilla Categoría
- 2. PHP para las categorías y subcategorías sin bucle una consulta
- 3. Wikipedia API: cómo buscar un término en una categoría específica
- 4. Make * ALL * Wordpress Categories usa su plantilla de categoría principal
- 5. Obtener la categoría principal para la página de productos Opencart
- 6. ¿Cómo mostrar los productos de la subcategoría a la categoría principal en OpenCart?
- 7. Diseñar una tabla SQL con jerarquía/subcategorías
- 8. lista de etiquetas de una categoría específica - wordpress
- 9. ¿Cómo obtener las palabras clave dentro de la categoría?
- 10. Django Categoría y búsquedas de subcategoría
- 11. cómo obtengo solo 1 publicación de cada categoría en wordpress
- 12. ¿Cómo funciona una categoría?
- 13. Wordpress - Obtener categoría actual Padres
- 14. Transclude una categoría en MediaWiki
- 15. ¿Cómo crearía un modelo de Django llamado Categoría que se puede relacionar a sí mismo (para crear subcategorías)
- 16. ¿Obtener URL de una pestaña específica?
- 17. ¿Cómo obtener una línea específica de una cadena en C#?
- 18. ¿Cómo obtener una sección específica dentro de una página MAN?
- 19. Pregunta de diseño de la base de datos - Categorías/Subcategorías
- 20. WP - Obtener publicaciones por categoría?
- 21. ¿Cómo obtener el dominio de una cookie específica?
- 22. ¿Cómo obtener una lista de las CL enviadas desde una CL específica?
- 23. Highcharts, alternar una categoría?
- 24. ¿Cómo obtener la parte principal de una versión de Maven?
- 25. Cómo obtener una dirección de memoria específica usando C
- 26. Mongodb obtener una parte específica del documento
- 27. Cómo ver/obtener todas las publicaciones en el muro de una página específica de Facebook
- 28. Menú Prestashop no hay subcategorías
- 29. ¿Cómo obtener instancia de una clase específica en PHP?
- 30. ¿Cómo obtener el PropertyInfo de una propiedad específica?
TNX :) trabajó f9 libre de errores :) – atif
@clockworkgeek ¿Cómo obtener la URL de las subcategorías? Gracias. – shnozolla
@shnozolla simplemente usa 'getUrl()' en lugar de 'getName()'. – clockworkgeek