我需要找到一種方法來添加另一個排序順序,以便我可以隨機排序或我需要覆蓋核心搜索系統,以使我能夠實現相同。 (或兩者的某種組合?)覆蓋mangento搜索系統,以允許隨機順序
我知道magento搜索文件在app/code/core/Mage/CatalogSearch /中,但我不確定哪些文件需要查看更改。
我需要找到一種方法來添加另一個排序順序,以便我可以隨機排序或我需要覆蓋核心搜索系統,以使我能夠實現相同。 (或兩者的某種組合?)覆蓋mangento搜索系統,以允許隨機順序
我知道magento搜索文件在app/code/core/Mage/CatalogSearch /中,但我不確定哪些文件需要查看更改。
文件你尋找是app/code/core/Mage/CatalogSearch/Model/Layer.php
。該班的名字是Mage_Catalog_Model_Layer
。在裏面你可以看到功能prepareProductCollection($collection)
。
我建議你改寫這個模型(參見this或this)並覆蓋上述功能並添加/實現你的排序邏輯。重寫此功能的示例爲
class XXX_XXX_Model_CatalogSearch_Layer extends Mage_CatalogSearch_Model_Layer
{
public function prepareProductCollection($collection)
{
parent::prepareProductCollection($collection);
$collection->addAttributeToSelect('some_attribute');
$collection->setOrder('some_attribute', 'asc');
return $this;
}
}
轉到文件位置的社區\程序\代碼\核心\法師\ CatalogSearch \塊\ Result.php和發現功能公共職能setListOrders(),在這裏你可以改變你的客戶訂單