Rose debug info
---------------

OpenCart: как сделать сортировку атрибутов по порядку сортировки

Потратил кучу времени на поиски решения, а оно оказалось до смешного простым.

В чём проблема

Вот мы создали группу атрибутов. Затем создали атрибуты, привязали к группе атрибутов, задали порядок сортировки. На сайте всё отображается нормально — согласно порядку сортировки. В админке же — всё сортируется по названиям, и это очень сбивает.

Что делать

  1. Открываем сайт/admin/model/catalog/attribute.php.
  1. Находим код (~53 строка):
if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {
	$sql .= " ORDER BY " . $data['sort'];
} else {
	$sql .= " ORDER BY attribute_group, ad.name";
}
  1. Изменяем последнюю строку:
$sql .= " ORDER BY attribute_group, a.sort_order, ad.name";
  1. То есть, по умолчанию, в карточке товара в админке, стоит сортировка по названию. Мы же сделали по порядку сортировки, а затем по названию.
  1. Сохраняем, обновляем кэш.
  1. Готово.
Поделиться
Отправить
 1483   2020   OpenCart 3   работа