【问题标题】:Magento - Add default filter to product collectionMagento - 将默认过滤器添加到产品集合
【发布时间】:2012-07-20 01:30:01
【问题描述】:

与看到此网站并想要类似内容的客户合作。

http://www.boylstontradingco.com/shop/sale

正如您在浏览到“销售”类别时所看到的那样,默认情况下,左侧分层导航中会激活“销售”过滤器。我知道分层导航的一部分从名为 getActiveFilters() 的函数中提取信息。有没有办法在代码中或通过管理员默认添加活动过滤器?任何帮助将不胜感激。

谢谢!

【问题讨论】:

    标签: magento filter php


    【解决方案1】:

    很简单:

    $model = Mage::getModel('catalog/layer_filter_category');
    $item = Mage::getModel('catalog/layer_filter_item');
    $model->getLayer()->getState()->addFilter(
      $item->setFilter($model)
           ->setLabel('Sale')
    );
    

    【讨论】:

    • 我确实弄清楚了如何通过将其添加到文件 state.phtml 来实现这一点,尽管它似乎没有过滤正在销售的商品。现在我有一个名为 sale 的属性,它是一个下拉菜单,有 2 个选项,一个是“On Sale”,另一个是“Full Price”。我将您给我的代码更改为: $model = Mage::getModel('catalog/layer_filter_category'); $item = Mage::getModel('catalog/layer_filter_item'); $model->getLayer()->getState()->addFilter( $item->setFilter($model) ->setLabel('On Sale') );
    • 更具体地说,我需要做的是创建一个实例,将网站上的所有产品添加到一个集合中,然后根据它们是否有特价进行过滤。当用户正在查看“销售”页面时。诀窍是分层导航仍然需要工作。
    猜你喜欢
    • 2014-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多