0

我有一个商店类别列表,除了一件事之外,一切都运行良好。我希望类别列表省略任何设置为“包含在导航菜单中 = 否”。

我现在可以说这个属性没有被加载,但我很难弄清楚过滤器的放置位置。目前,我通过以下方式获取我的类别列表:

<?php $_helper = Mage::helper('catalog/category') ?>
<?php $_categories = $_helper->getStoreCategories() ?>

其次是:

<?php foreach ($_categories as $_category) : ?>
<?php $_category = Mage::getModel('catalog/category')->load($_category->getId()) ?>
...
...

在这一点上,我有我想要的类别对象。但是,如果我对这些对象运行调试,则不会列出“include_in_menu”属性。

4

1 回答 1

0

所以出于某种原因:

<?php $_subCategory->getIncludeInMenu() ?>

跑步后没有为我工作:

<?php foreach($_parentCategory->getChildrenCategories() as $_subCategory) : ?>

该对象仍然是相同的模型,但 ['include_in_menu'] 不再是该对象的一部分。我不喜欢这个解决方案,但我只是将对象重新转换回来:

<?php $_subCategory = Mage::getModel('catalog/category')->load($_subCategory->getId()) ?>

然后它工作得很好。不知道为什么让孩子们会剥离物体,但确实如此。

于 2012-05-09T20:04:07.900 回答