Дерево категорий из определенной родительской категории
С помощью приведенного ниже кода я пытаюсь получить категории детей из определенной родительской категории с идентификатором 7.
<?php
$rootCatId = Mage::app()->getStore()->getRootCategoryId();
function getTreeCategories($parentId, $isChild){
$allCats = Mage::getModel('catalog/category')->getCollection()
->addAttributeToSelect('*')
->addAttributeToFilter('is_active','1')
->addAttributeToFilter('include_in_menu','1')
->addAttributeToFilter('parent_id',array('eq' => $parentId));
$class = ($isChild) ? "sub-cat-list" : "cat-list";
$html .= '<ul class="'.$class.'">';
$children = Mage::getModel('catalog/category')->getCategories(7);
foreach ($children as $category) {
{
$html .= '<li>'.$category->getName()."";
$subcats = $category->getChildren();
if($subcats != ''){
$html .= getTreeCategories($category->getId(), true);
}
$html .= '</li>';
}
$html .= '</ul>';
return $html;
}
$catlistHtml = getTreeCategories($rootCatId, false);
echo $catlistHtml;
?>
С этим кодом показаны все категории. Как я могу получить это дерево только из определенной категории с идентификатором 7?
3
2 answers
Попробуйте заменить эту строку:
$catlistHtml = getTreeCategories($rootCatId, false);
С этим:
$catlistHtml = getTreeCategories(7, false);
2
Author: Marius, 2013-06-03 10:59:44
Если кто-то ищет функцию, просто чтобы выгрузить все дерево категорий:
<?php
require_once '../app/Mage.php';
Mage::app(1);
$rootCatId = Mage::app()->getStore()->getRootCategoryId();
function getTreeCategories($parentId, $isChild){
$allCats = Mage::getModel('catalog/category')->getCollection()
->addAttributeToSelect('*')
->addAttributeToFilter('is_active','1')
->addAttributeToFilter('include_in_menu','1')
->addAttributeToFilter('parent_id',array('eq' => $parentId));
$class = ($isChild) ? "sub-cat-list" : "cat-list";
$html .= '<ul class="'.$class.'">';
//$children = Mage::getModel('catalog/category')->getCategories(7);
foreach ($allCats as $category)
{
$html .= '<li>'.$category->getName()."";
$subcats = $category->getChildren();
if($subcats != ''){
$html .= getTreeCategories($category->getId(), true);
}
$html .= '</li>';
}
$html .= '</ul>';
return $html;
}
$catlistHtml = getTreeCategories($rootCatId, false);
echo $catlistHtml;
?>
7
Author: JaseC, 2014-05-15 01:31:37