Различная сортировка товаров в категории
Название файла | Имя файла | Дата | Действие |
Версия для 2.1 | opencart_file_5698.zip | 2018-10-16 13:10:19 | Платный файл |
Версия для 2.3 | opencart_file_3355.zip | 2018-10-16 13:10:12 | Платный файл |
Разный порядок сортировки товара для каждой из категорий к которому он привязан
Что делать и зачем это нужно?
На вопрос что делать — купить модуль Различная сортировка товаров в категории — ответ прост
Зачем это нужно?
А зачем нужна сортировка?
А тем более различная сортировка в категориях.
Вы хотите, чтобы ваш товар, в определенной категории был всегда наверху. или ближе к верху.
Но сортировка sort_order работает и применяется ко всему списку товаров, а не к отдельной категории
Установив модуль Различная сортировка товаров, вы получаете возможность управлять сортировкой товаров в любой категории, к которой он принадлежит.
Модуль имеет свой интерфейс (функционал) управления сортировкой, что позволяет упросить процесс управления
Нужна ли адаптация под темы? Нет
Для сборки ocstore и установленных seopro — да
Дополнительные опции товара
Написать отзыв
Если комментарии не отобразились по какой то причине, то вы можете прочитаь их на отдельной технической странице комментариев
После просмотра, пожалуйста сообщите нам о возможной проблеме через форму обратной связи.
Оставить комментарий
Ваше имя (псевдоним)
Ваш комментарий: Примечание: HTML разметка не поддерживается! Используйте обычный текст.
Введите код, указанный на картинке:
Добавляем сортировку по новинкам и другие типы сортировки в интернет магазине opencart.
- ГлавнаяНовости статьиЗаметки и доработки Opencart Сортировка по дате поступления opencart
Сортировка по дате поступления opencart
- 5/5
- 2 оценок
Очень плохо! | Плохо | Нормально | Хорошо | Очень хорошо! |
---|---|---|---|---|
0% | 0% | 0% | 0% | 100% |
Приветствую уважаемый посетитель на страницах нашего сайта. Сегодня, в данной статье мы рассмотрим пример как поменять сортировку товаров на витрине opencart.
Сортировка товаров в категории opencart не всегда устраивает пользователя, и часто при создании интернет магазина клиенты хотят изменить сортировку ту что по умолчанию на какой либо другой вид сортировки, к примеру чтоб в категории товар сортировался по новинкам, то есть по дате поступления, вот данный пример мы и рассмотрим в данной статье, а именно будем делать сортировку в категории opencart по новинкам.
Хочу отметить что данный пример изменения сортировки товара подходит не только для страницы категории, но и для других страниц где есть возможность выбора сортировки, это поиск, производители. акции и.т.п.
И так как поменять сортировку отображения товаров в категории OpenCart, что для этого нужно?!
А нужно всего только внести изменения в файл /catalog/controller/product/category.php а так же в языковый файл /catalog/language/russian/product/category.php.
Если же вы делаете сортировку товаров для других страниц то файлы изменять нужно соответственно те которые отвечают за данные страницы, к примеру если вы изменяете сортировку на странице производителей то изменяем файл /catalog/controller/product/manufacturer.php , ну я думаю здесь все понятно.
Рассмотрим какие есть варианты сортировки товаров в opencart:
-
‘p.sort_order’, — сортировка товаров, по умолчанию. ‘p.date_added’ — сортировка товаров по дате поступления. ‘p.price’, — сортировка товаров по цене. ‘pd.name’, — сортировка товаров по имени. ‘p.model’, — сортировка товаров по модели. ‘p.quantity’, — сортировка товаров по количеству. ‘rating’, — сортировка товаров по рейтингу.
DESC — сортировка товаров по возрастанию,
ASC — сортировка товаров по убыванию.
Данные значения сортировки вы можете использовать на свое усмотрение в зависимости от того какой вид сортировки товаров вас интересует. Нас же интересует конкретно ‘p.date_added’ так как вы помните я изначально писал, что за пример мы будем делать сортировку по дате поступления товаров то есть по новинкам.
И так приступим и в первую очередь изменим сортировку на сортировку по дате поступления по умолчанию.
Как я уже писал ранее изменения вносить нужно в файл /catalog/controller/product/category.php , отрываем его для редактирования вашим любимым редактором, я лично пользуюсь всегда notepad++.
В начале данного файла находим кусок такого кода:
Практический каждый более или менее наполненный товарами интернет-магазин использует некоторые критерии сортировки товаров на сайте. В одном интернет магазине это может быть показ по дате добавления, в другом же это сортировка по популярности того или иного продукта.
Сортировка товаров в интернет магазине позволяет выставлять элементы в нужном порядке. Это позволяет существенно оптимизировать реализацию товаров на витрине и конечно же вопрос релевантности никто ещё не отменял. Понятие релевантности в сети интернет сегодня уже используется довольно широко, начиная от поисковых систем, заканчивая сайтом с новостной лентой. И это хорошо работает, когда популярные записи всегда стремятся в топ, а менее просматриваемые уходят в низ по списку. Однако в одних случаях это работает в автоматическом режиме, в других выставляется вручную. В обеих случаях есть свои преимущества и недостатки. В данной заметке мы поговорим про сортировку товаров в OpenCart.
Поле «Порядок сортировки» в OpenCart
В движке OpenCart как и во многих других движках существует поле, обозначаемое как «Порядок сортировки» товара. При редактировании карточки товара, мы можем видеть такое поле (у меня версия OpenCart 2.3 на анг. языке):
Как уже ясно из самого названия, оно используется для выставления значения позиции в каталоге для конкретного товара. Таким образом, в каталоге товары могут быть выстроены в нужном порядке вручную. При сортировке товаров по этому полю, выборка элементов происходит посредством указанной в запросе ORDER BY sort_order. Запрос в базу как правило производится из самого модуля. Сортировку товаров в OpenCart по умолчанию мы можем выставлять различным образом, и далее речь пойдёт об этом.
Как поменять сортировку товаров в OpenCart по умолчанию
Существуют множество полей, по которым мы может выполнять сортировку товаров в каталоге. Некоторые системы позволяют настраивать подобные вещи непосредственно в администраторской части сайта. В OpenCart это делается программно, т.к. всё же нет постоянной необходимости менять поле, по которому будут сортироваться товары в каталоге.
Как уже говорилось выше, запрос в базу данных выполняется из самого модуля. Однако порядок выборки товаров мы может задавать через контроллер. По этой причине нет необходимости лезть в код модуля, куда целесообразнее это сделать через контроллер.
Контроллер, который участвует в выводе товаров категории в OpenCart располагается по такому пути:
/catalog/controller/product/category.php
Открыв данный файл, следует найти запись такого вида:
В общем запись которая находится в условии else обозначает значение по умолчанию. Таким образом, переменная $sort определяет имя поля по умолчанию, которое будет использовано для сортировки товаров. Поменяв имя поля на другое, мы можем изменить поле, по которому будет сортироваться товары в категории. Существуют некоторое множество полей, по которому мы можем сортировать товары в каталоге. Далее поговорим об этих полях.
Поля доступные для сортировки в OpenCart
Есть несколько ключевых полей в базе данных, по которым целесообразно выполнять сортировку товаров:
‘pd.name’, — Наименование товара;
‘p.model’, — Поле, обозначающеии модель товара;
‘p.quantity‘, — Поле, обозначающее остаток товара на сайте;
‘p.price’, — Поле с ценой товара;
‘rating’, — Поле с рейтингом товара;
‘p.sort_order’, — Отдельное поле для ручной сортировки;
‘p.date_added’ — Поле с датой добавления товара;
Для примера, если мы хотим поменять сортировку товаров в каталоге по дате добавления, нам следует в переменной $sort выставить значение p.date_added. Кроме того, существуют так же возможность указания направления сортировки (ASC или DESC). Для этого используется переменная $order, которая может содержать два значения:
ASC – сортировка по возрастанию;
DESC – порядок сортировки по убыванию.
В большинстве случаем, изменения этих двух параметров бывает достаточно. После внесения изменений в скрипт не забывает почистить кэш, перед тем как проверить работу скрипта.