Magento按产品属性值计数排序集合

时间:2012-07-23 08:57:51

标签: php zend-framework magento collections

我目前正在开发一个Magento网站,该网站使用分层导航和大量自定义属性进行导航。我要做的是在列表中添加一个新的“排序依据”选项(默认情况下为某些类别选择),这有助于提高为大量客户显示的产品的相关性。

该网站正在销售针织纱。

以下是客户希望如何运作 -

  • 我们有自定义属性集 称为“colour_name”,其值为红色,绿色,黄色, 紫色等。

  • 由于产品的性质,有时这种分类可以 有点含糊不清,所以很多产品都列在多个下面 例如,蓝绿色纱线的类别将同时选择“蓝色”和“绿色”选项。

  • 如果客户从分层导航中选择“蓝色”,我们希望首先列出选择了蓝色选项的产品,然后是2种颜色的产品,然后是3,依此类推。

我对馆藏没有丰富的经验,但我熟悉基本的排序和过滤。我们需要使用的集合位于以下行的app / design / frontend / default / [template_name] /template/catalog/product/list.phtml中:

<?php $_productCollection=$this->getLoadedProductCollection() ?>

我不确定是在list.phtml文件中执行此类操作,还是在帮助器中进行类别/排序。

不幸的是,该网站尚未上线,所以我无法向您展示一个示例,希望描述已经足够,但如果需要,请随时询问有关任何要点的说明。

1 个答案:

答案 0 :(得分:0)

您可以通过addAttributeToFilter(对于productCollection以外的集合addFieldToFilter)和addAttributeToSort对Magento中的集合进行过滤和排序。

默认情况下,Magento使用&#39; ORDER BY&#39;在用于排序的基础SQL中,您应该使用一种方法,该方法在加载的集合上使用自定义排序的自定义模块。

如果您想尝试,可以回复here