Мне пришлось внести некоторые изменения на страницу каталога (list.phtml) в Magento, все в порядке, за исключением имени «Сортировать по», позиции и т. Д. …
Вот мой код:
$_productCollection= Mage::getModel('catalog/product')->getCollection() ->addAttributeToSelect('*') ->addStoreFilter() ->setPage(Mage::getBlockSingleton('page/html_pager')->getCurrentPage(), $limit) ->setPageSize( $limit ) ->setOrder($this->getCurrentOrder(), $this->getCurrentDirection()) ->load();
Здесь явно что-то не так, потому что ничего не происходит при сортировке результатов bu name, position и т. Д.!
Очевидно, что в этой строке что-то не так:
->setOrder($this->getCurrentOrder(), $this->getCurrentDirection())
У меня также есть проблема с простыми продуктами, которые настроены так, чтобы они не показывались индивидуально. Я тоже что-то пропустил.
Если бы кто-то мог направить меня к правильным функциям / синтаксису, это было бы здорово!
Я решил проблему заказа!
-> setOrder (Mage :: getBlockSingleton ('catalog / product_list_toolbar') -> getCurrentOrder (), Mage :: getBlockSingleton ('catalogue / product_list_toolbar') -> getCurrentDirection ())
И продукты, которые не отображаются отдельно:
->setVisibility(Mage::getSingleton('catalog/product_visibility')->getVisibleInCatalogIds())
Итак, полный код для кого-то еще:
if( $this->getMode()!='grid' ) { $limit = Mage::getStoreConfig('catalog/frontend/list_per_page'); } else { $limit = Mage::getStoreConfig('catalog/frontend/grid_per_page'); } $_productCollection= Mage::getModel('catalog/product')->getCollection() ->addAttributeToSelect(Mage::getSingleton('catalog/config')->getProductAttributes()) ->addAttributeToSelect('sku_base') ->addStoreFilter(Mage::app()->getStore()->getId()) ->setVisibility(Mage::getSingleton('catalog/product_visibility')->getVisibleInCatalogIds()) ->setPage(Mage::getBlockSingleton('page/html_pager')->getCurrentPage(), $limit) ->setPageSize( $limit ) ->setOrder(Mage::getBlockSingleton('catalog/product_list_toolbar')->getCurrentOrder(), Mage::getBlockSingleton('catalog/product_list_toolbar')->getCurrentDirection()) ->load();