【问题标题】:In Magento Layered Navigation, how do I get all items for active filters?在 Magento 分层导航中,如何获取活动过滤器的所有项目?
【发布时间】:2011-05-26 18:21:48
【问题描述】:

一旦过滤器激活,它会返回 0 个项目,因此它不会再显示在“购物选项”中。对于我的自定义分层导航,我需要获取并显示这些项目。我知道一些扩展已经在这样做(并在项目旁边提供复选框),但我想知道如何自己做。

【问题讨论】:

  • 您好,谢谢您的回答,我会调查的。我只是很惊讶没有人做过(除了那些 ajax 扩展的人),如果他们做过,为什么他们不分享他们的代码......再次感谢!

标签: magento filter navigation layered


【解决方案1】:

如果您希望在过滤器的结果为 0 时显示分层导航过滤器,那么您所要做的就是编辑产品属性并设置 在分层导航中使用=可过滤(无结果)。

【讨论】:

  • 谢谢,但这无济于事。让我更好地解释一下:假设您有一个“价格”过滤器。一旦您单击此过滤器上的一个项目(假设 0-10,000 美元),此过滤器将不再显示在“购物选项”部分。我正在使用一个选择框来选择一个项目,所以我想给用户一个选项来为这个过滤器选择一个不同的项目,而不是先清除然后再选择另一个项目。您的解决方案仍然没有显示选择的过滤器及其所有项目。有人吗?
【解决方案2】:

事实上,这是一个非常复杂的问题,因为您无法真正从有源过滤器中获取项目。这个“过滤器”不再是一个过滤器,它现在是一个状态,因此不能给你任何项目(见app\design\frontend\base\default\template\catalog\layer\state.phtml并将它与filter.phtml进行比较)。你可以做的是与app\code\core\Mage\Catalog\Model\Layer 模型,尤其是app\code\core\Mage\Catalog\Model\Resource\Eav\Mysql4\Layer\Filter\Attribute.php 进行一些斗争。它是一种资源,可以完成所有工作,包括添加层、计算层的产品...如果您熟悉 Zend Select 对象和一点 mysql,您可以通过分层导航轻松实现您想要的任何东西。

据我所知,大多数商业模块都使用 AJAX 来模拟一些新的分层导航功能(它们并没有真正搞砸它)。

如果你不熟悉 Magento 开发,分层导航可能是最糟糕的起点......

【讨论】:

  • 您好,感谢您的回答,我会调查的。我只是很惊讶没有人做过(除了那些 ajax 扩展的人),如果他们做过,为什么他们不分享他们的代码......再次感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多