如何将制造商属性添加到过滤结果中的magento分层导航

时间:2014-04-07 12:24:37

标签: magento

我正在使用Magento Enterprise版本,默认情况下,我在按类别显示产品列表时,会在左侧导航栏中显示类别和价格范围。

但是,我需要将其他产品属性(如制造商,转移类型等)添加到过滤器结果中进行分层导航。

我可以在该制造商属性下显示制造商列表,但选项'过滤但没有结果' 0计数。

每当我在管理员方面将制造商属性的选项更改为'Filter with results' Catalogue/Attributes/Manage Attributes下的{{1}}时,我无法在前端左侧导航栏中看到该属性。

尽管制造商已经分配了很多产品。我是否需要对代码进行任何更改,请帮助我,我是这个magento平台的新手。

由于

2 个答案:

答案 0 :(得分:1)

对不起,如果听起来是一个愚蠢的问题,但你改变了,看到类别配置要锚定在YES?

我会在答案后告诉你

最佳, 亚历

答案 1 :(得分:0)

在您的:中添加此功能: 的magento /应用程序/代码/核心/法师/目录/砌块/ Navigation.php

public function getAllManu()
 {
        $product = Mage::getModel('catalog/product');
        $attributes = Mage::getResourceModel('eav/entity_attribute_collection')
        ->setEntityTypeFilter($product->getResource()->getTypeId())
                ->addFieldToFilter('attribute_code', 'manufacturer'); //can be changed to any attribute
        $attribute = $attributes->getFirstItem()->setEntity($product->getResource());
        $manufacturers = $attribute->getSource()->getAllOptions(false);

        return $manufacturers;
    }

现在在位置添加phtml文件: 的magento /应用程序/设计/前端/ mytheme的/默认/模板/目录/导航/ left_nav.phtml

<?php foreach ($this->getAllManu() as $manufacturer): ?>
                <li>
                    <a href="catalogsearch/advanced/result/?manufacturer[]=<?php echo $manufacturer['value'] ?>"><?php echo $manufacturer['label'] ?></a>
                </li>
<?php endforeach;?>

只需调用block:magento / app / design / frontend / mytheme / default / layout / catalog.xml

<reference name="left">
            <block type="catalog/navigation" name="catalog.leftnavigation" template="catalog/navigation/left_nav.phtml"/>
</reference>