Intereting Posts
Продолжить саморазвитие в PHP или перейти к PHP Framework? Медленный поиск местоположения Почему DomDocument getElementsByTagName возвращает половину NodeList? PHP-сессии Cookies перестали работать на моем сервере ТОЛЬКО Как настроить Codeigniter для сообщения обо всех ошибках? Как загрузить файлы (multipart / form-data) с помощью многомерных POSTFIELDS с помощью PHP и CURL? остановить прямой доступ (.htaccess) и разрешить запрос ajax в подпапку php Предупреждение: strtotime () Ошибка Печать нового <div> при изменении итерации идентификатора внутри php while loop из результата MySQL Laravel 4, jQuery .ajax, Нет сообщений, полученных Чтение данных сеанса PHP в node.js Передайте данные формы на другую страницу с помощью php Получить реальный IP-адрес пользователя с помощью codeigniter Возврат данных обратно диспетчеру из наблюдателя событий в Magento Как использовать переменную $ result с объектом таблицы в SQL-запросе с использованием mySQLi

Magento Получить текущий Сортировка и Направление с помощью getCollection ()

Мне пришлось внести некоторые изменения на страницу каталога (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();