|  | 

Уроки по Opencart

Урок 33 Как выборочно не отображать товары в категории, поиске

img-responsive

Очередная доработка для магазина на Опенкарт. В общем имеется магазин, в котором продаются фасады. Причем они имеют покрытие пленкой стандарт и бизнес. Каждый вариант реализован как отдельный товар, из за чего в каталоге возникает путаница. Т.е. отображается, к примеру, Венеция с пленкой Стандарт и Венеция с пленкой Бизнес. Задача: убрать отображение товаров с пленкой бизнес.

Тут есть несколько вариантов решения: делать костыль и фильтровать по вхождению с пленкой Бизнес непосредственно в темплейте, но тогда получается ерунда с отображением товаров и пагинацией. Можно то же самое провернуть в контроллере — но это тоже так себе решения, к тому же выходит слишком много телодвижений. Оба варианта не универсальны, так как если в будущем надо будет убрать товары, например, с пленкой Люкс, то придется эти все костыли править.

Универсальным решением стала доработка модели товара и использование любого из стандартных полей опенкарта ean, upc и т.д. в качестве включателя/выключателя. Т.е. было добавлено условия, что если товар имеет заполненное поле upc то он не будет выводиться.

Итак, заходим в модель товара по адресу

Находим

и меняем на

Всего надо сделать 4 замены. ВАЖНО!!! В

никаких замен делать не надо. Т.е. в этой функции ничего не добавляем.

Не забывайте обновлять кеш модификаторов. Теперь если Вам необходимо скрыть какой либо товар из категории, достаточно во вкладке Данные этого товара в поле upc поставить любой символ или пробел. Товар не будет отображаться в категории, но останется доступным по прямой ссылке.

ne-otobrazhat-tovary-kategorii

ABOUT THE AUTHOR

Оставить комментарий

avatar
  Подписаться  
Уведомление о

Цель сайта

Главная цель создания сайта - собрать, а так же упорядочить все свои наработки по Opencart, которых накопилось уже порядочно. Сайт позволит создать эффективную и удобную базу, в которой будет легко отыскать нужную информацию.

Новые комментарии

© 2010 — 2017, OC-new.com. Все права защищены.

Любое использование материалов допускается только с указанием активной ссылки на источник.