Magento - 按类别属性筛选类别列表

时间:2012-05-08 19:06:08

标签: magento attributes filter categories

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

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

<?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'属性。

1 个答案:

答案 0 :(得分:0)

所以出于某种原因:

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

我跑完后不适合我:

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

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

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

然后它工作正常。不知道为什么让孩子们剥离对象,但确实如此。