Я пытаюсь установить сортировку по умолчанию (не редактируемую) для отдельной категории в Magento в SKU DESC и скрыть опцию сортировки только для этой категории.
в основном я хочу, чтобы это сортировалось только по SKU, DESC … независимо от того, какие параметры были выбраны на других страницах, прежде чем перейти на эту страницу
Пока я могу скрыть функцию сортировки, нет проблем, но настройка сортировки доставляет мне некоторые проблемы
Я добавил в: /app/design/frontend/default/idp/template/catalog/category/view.phtml
if($_SERVER['REMOTE_ADDR'] == {MY IP}) :
if($_category->getId() == 4) :
$_category->_data['default_sort_by'] = "sku_sort";
endif;
endif;
Это нормально устанавливает порядок сортировки по умолчанию на этой странице, но я не могу найти способ заставить его перейти на DESC вместо ASC … любая помощь будет оценена
как временное исправление, пока я не выясню это, я использую найденное решение Вот, первый комментарий на странице имеет специализированное решение (изменено created_at
в sku
)
Единственная проблема, связанная с этим решением, заключается в том, что оно влияет на все страницы сортировки на основе sku и результаты, а не только на одну страницу.
Вы можете изменить объект панели инструментов из каталога / product / list.phtm, удалив доступные атрибуты сортировки и установив необходимую сортировку по умолчанию:
$_category = Mage::registry('current_category');
if ($_category && $_category->getId() == 4 && $this->getListBlock()){
$availableOrders = $_category->getAvailableSortByOptions();
unset($availableOrders['position']); // Delete the sort attributes you don't need
$this->getListBlock()
->setAvailableOrders($availableOrders)
->setDefaultDirection('desc')
->setSortBy('sku_sort');
}
надеюсь, это поможет
Других решений пока нет …