我有一个商店类别列表,除了一件事以外,一切都运作良好。我想要省略任何设置为“包含在导航菜单中=否”的类别列表。
我现在可以说这个属性没有被加载,但是我很难确定过滤器的放置位置。目前,我通过以下方式获取我的类别列表:
<?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'属性。
答案 0 :(得分:0)
所以出于某种原因:
<?php $_subCategory->getIncludeInMenu() ?>
我跑完后不适合我:
<?php foreach($_parentCategory->getChildrenCategories() as $_subCategory) : ?>
对象仍然是同一个模型,但['include_in_menu']不再是对象的一部分。我不喜欢这个解决方案,但我只是将对象重新转换回来了:
<?php $_subCategory = Mage::getModel('catalog/category')->load($_subCategory->getId()) ?>
然后它工作正常。不知道为什么让孩子们剥离对象,但确实如此。