Tekito - Сортировка товаров - индивидуальный порядок товаров в категориях OpenCart
Модуль для OpenCart 1.5, который позволяет вручную задавать порядок товаров отдельно для каждой категории. Товары сортируются перетаскиванием мышью в админке, при этом глобальный порядок товара и сортировка в других категориях не изменяются.

В стандартном OpenCart 1.5 порядок товаров задаётся через общее поле сортировки товара. Это создаёт проблему, если один и тот же товар находится сразу в нескольких категориях: изменение его позиции для одной категории влияет и на остальные. Например, товар может быть наиболее важным в категории «Муфельные печи для керамики», но находиться значительно ниже в общей категории «Муфельные печи». Стандартными средствами назначить ему разные позиции для этих категорий нельзя.
Tekito - Сортировка товаров решает эту проблему: модуль позволяет устанавливать собственный порядок товаров отдельно для каждой категории OpenCart. Сортировка выполняется непосредственно в форме редактирования категории простым перетаскиванием строк мышью.
Что делает модуль
После установки в форме редактирования категории появляется отдельная вкладка «Сортировка товаров». В ней отображаются все товары, назначенные выбранной категории. Для изменения порядка достаточно перетащить товар мышью на нужную позицию и сохранить категорию.
Порядок хранится отдельно для каждой пары «категория - товар». Поэтому один и тот же товар может находиться на первой позиции в одной категории, на пятой - в другой и на двадцатой - в третьей.
Главное отличие от стандартной сортировки OpenCart
Модуль не изменяет стандартное поле sort_order самого товара. Для хранения порядка используется отдельная таблица базы данных. Благодаря этому ручная сортировка внутри одной категории никак не влияет на расположение товара в других категориях.
Если посетитель сайта самостоятельно выбирает сортировку по цене, названию, рейтингу или другому доступному параметру, его выбор имеет приоритет. Установленный через Tekito порядок используется именно как порядок товаров категории по умолчанию.
Возможности Tekito - Сортировка товаров
- отдельный порядок товаров для каждой категории;
- сортировка методом drag&drop - перетаскиванием мышью;
- отображение названия, ID и модели товара в списке;
- отметка отключённых товаров непосредственно в списке сортировки;
- сохранение стандартного
sort_orderтовара без изменений; - поддержка товаров, одновременно находящихся в нескольких категориях;
- автоматическое применение заданного порядка на витрине;
- сохранение стандартной пользовательской сортировки по цене, названию и другим параметрам;
- автоматическое удаление сохранённого порядка при удалении категории;
- сохранение данных сортировки при отключении или удалении модуля из списка дополнений.
Как установить модуль
- Перед установкой рекомендуется сделать резервную копию файлов сайта и базы данных.
- Распакуйте архив
tekito-product-sort.zip. - Скопируйте содержимое архива в корневую директорию OpenCart с объединением существующих папок
adminиvqmod. Существующие системные файлы модуль напрямую не заменяет. - Откройте административную панель OpenCart.
- Перейдите в раздел Дополнения → Модули.
- Найдите Tekito - Сортировка товаров и нажмите «Установить».
- Откройте настройки модуля, установите статус «Включено» и сохраните изменения.
Как пользоваться
Перейдите в Каталог → Категории и откройте нужную категорию для редактирования. В форме категории появится вкладка «Сортировка товаров».
На вкладке отображаются товары, которые уже назначены этой категории. Возьмите нужную строку за значок перетаскивания и переместите её вверх или вниз. После формирования нужного порядка сохраните категорию обычной кнопкой «Сохранить».
После сохранения новый порядок автоматически используется в каталоге сайта. Настраивать каждый товар отдельно не требуется.
Что происходит с новыми товарами
Если после настройки порядка в категорию добавить новый товар, он не потеряется. Товары, для которых ещё не была определена ручная позиция, автоматически располагаются после уже отсортированных товаров. После этого администратор может открыть категорию и поставить новый товар на нужное место.
Что происходит при отключении модуля
При отключении или удалении модуля через раздел дополнений сохранённый ручной порядок намеренно не удаляется из базы данных. Если модуль впоследствии установить или включить снова, ранее настроенную сортировку можно продолжить использовать. При полном удалении самой категории связанные с ней данные сортировки удаляются автоматически.
Техническая реализация
Модуль использует отдельную таблицу базы данных для хранения связки category_id, product_id и индивидуального sort_order. Изменения в стандартную логику OpenCart подключаются через vQmod, поэтому оригинальные файлы CMS напрямую не переписываются.
На витрине индивидуальная сортировка подключается только при просмотре конкретной категории и при стандартном порядке товаров. Если пользователь выбирает другой вариант сортировки, OpenCart продолжает работать штатным способом.
Технические требования
CMS: OpenCart или ocStore 1.5.x.
vQmod: версия 2.x, рекомендуется 2.4 или новее.
PHP: версия, совместимая с установленной OpenCart 1.5.x; модуль не использует синтаксис современных версий PHP и рассчитан на старую ветку CMS.
База данных: MySQL/MariaDB, используемая установленным OpenCart.
JavaScript: в административной панели должна быть доступна jQuery UI Sortable; в стандартной админке OpenCart 1.5 необходимая библиотека обычно уже присутствует.
Права: возможность загружать файлы в каталоги admin и vqmod/xml, а также право пользователя администратора на установку и изменение модулей.
Есть похожая задача?
Пришлите ссылку на сайт и опишите желаемый результат.