Example code for http://magento.stackexchange.com/questions/10566/sort-catalogsearch-by-2-attributes/10589.
Files:
- app/code/community/Emzee/Sorter/etc/config.xml
- app/code/community/Emzee/Sorter/Model/Observer.php
- app/etc/modules/Emzee_Sorter.xml
Example code for http://magento.stackexchange.com/questions/10566/sort-catalogsearch-by-2-attributes/10589.
Files:
| <?xml version="1.0"?> | |
| <config> | |
| <modules> | |
| <Emzee_Sorter> | |
| <version>1.0.0</version> | |
| </Emzee_Sorter> | |
| </modules> | |
| <global> | |
| <models> | |
| <emzee_sorter> | |
| <class>Emzee_Sorter_Model</class> | |
| </emzee_sorter> | |
| </models> | |
| <events> | |
| <catalog_block_product_list_collection> | |
| <observers> | |
| <emzee_sorter> | |
| <class>emzee_sorter/observer</class> | |
| <method>catalogBlockProductListCollection</method> | |
| </emzee_sorter> | |
| </observers> | |
| </catalog_block_product_list_collection> | |
| </events> | |
| </global> | |
| </config> |
| <?xml version="1.0"?> | |
| <config> | |
| <modules> | |
| <Emzee_Sorter> | |
| <active>true</active> | |
| <codePool>community</codePool> | |
| <depends></depends> | |
| </Emzee_Sorter> | |
| </modules> | |
| </config> |
| <?php | |
| class Emzee_Sorter_Model_Observer | |
| { | |
| /** | |
| * @param Varien_Event_Observer $observer | |
| * @return Emzee_Sorter_Model_Observer | |
| */ | |
| public function catalogBlockProductListCollection(Varien_Event_Observer $observer) | |
| { | |
| $request = Mage::app()->getFrontController()->getRequest(); | |
| $action = $request->getModuleName() . '_' . $request->getControllerName() . '_' . $request->getActionName(); | |
| if ($action === 'catalogsearch_result_index' || $action === 'catalogsearch_advanced_result') { | |
| $collection = $observer->getEvent()->getCollection(); | |
| $collection->addOrder('sort_2', Varien_Data_Collection::SORT_ORDER_DESC); | |
| } | |
| return $this; | |
| } | |
| } |