Magento — установить сортировку товара по умолчанию только для одной категории

Я пытаюсь установить сортировку по умолчанию (не редактируемую) для отдельной категории в 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 и результаты, а не только на одну страницу.

0

Решение

Вы можете изменить объект панели инструментов из каталога / 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');
}

надеюсь, это поможет

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]