Как правильно сортировать товары категории в OpenCart и показывать нет в наличии в конце


300

В дефолтном OpenCart порядок сортировки товаров в категории захардкожен прямо в контроллере. Хочешь поменять дефолтный порядок (по цене, по дате, по имени) - лезь в код, правь controller/category.php, меняешь $sort = 'p.sort_order'; или что там ещё. Удобно? Конечно нет!

Ещё хуже с товарами не в наличии. Они лезут в список вместе со всеми, занимают место в топе, отвлекают хомячков. "О, крутой товар за 1000 рублей!" - клик - "нет в наличии". Закрыл вкладку, пошёл к конкурентам. Зачем мешать им нести тебе деньги? И не говори что для этого есть модуль. Уверен он есть и скорее всего даже не один. Но не забывай, что это будет модификатор (часто от которого кровь в жилах стынет), который весьма вероятно будет соседствовать с другими модификаторами (фильтр товаров, например), а сверху их будет погонять модификатор-босс 80-го уровня и все вместе они таки завалят твой сайт. После этого даже самые храбрые из нас (разработчиков) не рискнут лечить этого Франкенштейна и он медленно, но верно будет ползти в могилу (где ему и место).

Смотри как надо:

  • В общих настройках можно выбрать сортировку по-умолчанию и нет в наличии в конец для всех категорий разом. И не только категорий, но и производителей, акций и поиска.
  • В админке категории теперь есть поля "Параметр сортировки"  и "Направление сортировки" (с выбором: по порядку, по имени, по цене, по рейтингу и т. п. и возрастанию/убыванию). Эти параметры имеют приоритет перед глобальным из настроек системы.
  • Отдельный чекбокс "Нет в наличии в конец списка". Включил - товары с количеством 0 всегда улетают вниз, независимо от сортировки. Хомячки видят сначала то, что реально можно купить.
  • Всё работает из коробки. Никаких модулей, никаких костылей в контроллере, никаких правок ядра. Просто локальные настройки конкретной категории и глобальные для всех остальных.

Можно ли без этого обойтись? Конечно, можно жопу лопухом вытирать и жить в пещере, но желающих я смотрю немного. Это то, что любой админ хочет видеть с первого дня. Простые и понятные настройки базового поведения каталога, два клика, всё как ты хотел.

В exopencart так и есть. Клиенты видят актуальный товар первым, не отвлекаясь на то, что магазин не может продать прямо сейчас.

Не согласен? Напиши комментарий, скажи что я не прав, что я мудак, сделай хоть что-то! Безраличие ранит, знаешь ли 😒



Написать комментарий
Введите код с картинки