我目前正在开发一个Magento网站,该网站使用分层导航和大量自定义属性进行导航。我要做的是在列表中添加一个新的“排序依据”选项(默认情况下为某些类别选择),这有助于提高为大量客户显示的产品的相关性。
该网站正在销售针织纱。
以下是客户希望如何运作 -
我们有自定义属性集 称为“colour_name”,其值为红色,绿色,黄色, 紫色等。
由于产品的性质,有时这种分类可以 有点含糊不清,所以很多产品都列在多个下面 例如,蓝绿色纱线的类别将同时选择“蓝色”和“绿色”选项。
如果客户从分层导航中选择“蓝色”,我们希望首先列出选择了蓝色选项的产品,然后是2种颜色的产品,然后是3,依此类推。
我对馆藏没有丰富的经验,但我熟悉基本的排序和过滤。我们需要使用的集合位于以下行的app / design / frontend / default / [template_name] /template/catalog/product/list.phtml中:
<?php $_productCollection=$this->getLoadedProductCollection() ?>
我不确定是在list.phtml文件中执行此类操作,还是在帮助器中进行类别/排序。
不幸的是,该网站尚未上线,所以我无法向您展示一个示例,希望描述已经足够,但如果需要,请随时询问有关任何要点的说明。
答案 0 :(得分:0)
您可以通过addAttributeToFilter
(对于productCollection以外的集合addFieldToFilter
)和addAttributeToSort
对Magento中的集合进行过滤和排序。
默认情况下,Magento使用&#39; ORDER BY&#39;在用于排序的基础SQL中,您应该使用一种方法,该方法在加载的集合上使用自定义排序的自定义模块。
如果您想尝试,可以回复here。