2012-07-23 87 views
0

我目前正在使用分層導航和大量自定義屬性進行導航的Magento網站。我期望做的是在列表中添加一個新的「排序方式」選項(默認情況下爲某些類別選擇),這有助於提高顯示給大量客戶的產品的相關性。Magento按產品排序集合屬性值計數

該網站正在銷售針織紗。

這裏的客戶不希望它如何工作 -

  • 我們有一個自定義屬性設置 了一個名爲「colour_name」與值,如紅,綠,黃, 紫色等

  • 由於產品的性質,有時該分類 可能會有些模棱兩可,因此許多產品都列在多個 類別下,例如,藍綠色紗線將同時選擇「藍色」和「綠色」選項。

  • 如果客戶從分層導航中選擇「藍色」,我們希望只選擇藍色選項的產品首先列出,然後是具有2種顏色的產品,然後是3種,等等。

我對集合沒有大量的經驗,但我熟悉基本的排序和過濾。我們需要使用的集合是在應用程序/設計/前端/預設/ [TEMPLATE_NAME] /template/catalog/product/list.phtml以下行:

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

我不知道是否執行這可以在list.phtml文件中進行排序,也可以在幫助程序中進一步排序。

不幸的是,該網站還沒有直播,所以我不能告訴你一個例子,希望描述是足夠的,但如果需要,請隨時要求澄清任何問題。

回答

0

您可以通過addAttributeToFilter(對於productCollection以外的集合)和addAttributeToSort對Magento中的收藏集進行過濾和分類(addFieldToFilter)。

默認情況下,Magento使用底層SQL中的'ORDER BY'進行排序,因此您應該使用一種方法,使用自定義排序的加載集合的自定義模塊。

如果您想試試,有一個非常可能的答案here