gpt4 book ai didi

magento - 如何获取所有类别和子类别?

转载 作者:行者123 更新时间:2023-12-04 00:06:07 26 4
gpt4 key购买 nike

如果类别处于事件状态,但“包含在导航菜单中”设置为“否”,我如何获取所有类别和子类别?

我尝试使用这个:

<?php 
$_categories = Mage::getBlockSingleton('catalog/navigation');
foreach ($_categories->getStoreCategories() as $_category) {
$category = Mage::getModel('catalog/category');
$category->load($_category->getId());
$subcategories = explode(',', $category->getChildren());
?>
<dl>
<dt><?php echo $this->htmlEscape($_category->getName()); ?></dt>
<dd>
<ol>
<?php
foreach ($subcategories as $subcategoryId) {
$category->load($subcategoryId);
echo '<li><a href="' . $category->getURL() . '">' . $category->getName() . '</a></li>';
}
?>
</ol>
</dd>
</dl>
<?php

}
?>

但是如果一个类别的“包括在导航菜单中”是“否”,它就不会显示在首页上!

最佳答案

你只需要改变一件事!当您调用 $_categories = Mage::getBlockSingleton('catalog/navigation')您实际上是从 catalog/navigation 中获取类别特别是模型 - “非导航”类别的过滤已经完成。相反,我们可以从 catalog/category 中获取一个集合。模型以确保我们获得网站上可用的所有类别:

$categories = Mage::getModel('catalog/category')
->getCollection()
->addAttributeToSelect('*')
->addIsActiveFilter();

请注意,我使用的是 addIsActiveFilter()确保我们只获得当前处于事件状态/启用的类别。

关于magento - 如何获取所有类别和子类别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14279853/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com