Pascha Опубликовано 17 сентября, 2022 Поделиться Опубликовано 17 сентября, 2022 Практический каждый более или менее наполненный товарами интернет-магазин использует некоторые критерии сортировки товаров на сайте. В одном интернет магазине это может быть показ по дате добавления, в другом же это сортировка по популярности того или иного продукта. Сортировка товаров в интернет магазине позволяет выставлять элементы в нужном порядке. Это позволяет существенно оптимизировать реализацию товаров на витрине и конечно же вопрос релевантности никто ещё не отменял. Понятие релевантности в сети интернет сегодня уже используется довольно широко, начиная от поисковых систем, заканчивая сайтом с новостной лентой. И это хорошо работает, когда популярные записи всегда стремятся в топ, а менее просматриваемые уходят в низ по списку. Однако в одних случаях это работает в автоматическом режиме, в других выставляется вручную. В обеих случаях есть свои преимущества и недостатки. В данной заметке мы поговорим про сортировку товаров в OpenCart. Поле «Порядок сортировки» в OpenCart В движке OpenCart как и во многих других движках существует поле, обозначаемое как «Порядок сортировки» товара. При редактировании карточки товара, мы можем видеть такое поле Как уже ясно из самого названия, оно используется для выставления значения позиции в каталоге для конкретного товара. Таким образом, в каталоге товары могут быть выстроены в нужном порядке вручную. При сортировке товаров по этому полю, выборка элементов происходит посредством указанной в запросе ORDER BY sort_order. Запрос в базу как правило производится из самого модуля. Сортировку товаров в OpenCart по умолчанию мы можем выставлять различным образом, и далее речь пойдёт об этом. Как поменять сортировку товаров в OpenCart по умолчанию Существуют множество полей, по которым мы может выполнять сортировку товаров в каталоге. Некоторые системы позволяют настраивать подобные вещи непосредственно в администраторской части сайта. В OpenCart это делается программно, т.к. всё же нет постоянной необходимости менять поле, по которому будут сортироваться товары в каталоге. Как уже говорилось выше, запрос в базу данных выполняется из самого модуля. Однако порядок выборки товаров мы может задавать через контроллер. По этой причине нет необходимости лезть в код модуля, куда целесообразнее это сделать через контроллер. Контроллер, который участвует в выводе товаров категории в OpenCart располагается по такому пути: /catalog/controller/product/category.php Открыв данный файл, следует найти запись такого вида: if (isset($this->request->get['sort'])) { $sort = $this->request->get['sort']; } else { $sort = 'p.sort_order'; } В общем запись которая находится в условии 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 – порядок сортировки по убыванию. В большинстве случаем, изменения этих двух параметров бывает достаточно. После внесения изменений в скрипт не забывает почистить кэш, перед тем как проверить работу скрипта. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.