Как реализовать? Интернет-магазин керамики
Подскажите или намекните как правильно реализовать следующее:
11000 товаров
У каждого производителя есть свои коллекции.
в коллекции существуют множество товаров (напольная плитка, плинтуса, настенная плитка и т.д.)
как в карточке товара (какая-либо коллекция) вставить все товары которые есть в этой коллекции
Пример:
Рассмотрим коллекцию А. в ней существует 3 вида товаров (Напольная, Настенная, и плинтуса)
если
в коллекции есть:
Плинтуса -> то выводить надпись Плинтус и все товары данной колекции
иначе если есть
Напольная плитка -> то выводить Напольная плитка и товары и т.д.
Извиняюсь за такое подробное описание, но я выложил суть вопроса как можно подробнее
11000 товаров
У каждого производителя есть свои коллекции.
в коллекции существуют множество товаров (напольная плитка, плинтуса, настенная плитка и т.д.)
как в карточке товара (какая-либо коллекция) вставить все товары которые есть в этой коллекции
Пример:
Рассмотрим коллекцию А. в ней существует 3 вида товаров (Напольная, Настенная, и плинтуса)
если
в коллекции есть:
Плинтуса -> то выводить надпись Плинтус и все товары данной колекции
иначе если есть
Напольная плитка -> то выводить Напольная плитка и товары и т.д.
Извиняюсь за такое подробное описание, но я выложил суть вопроса как можно подробнее
Комментарии: 14
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
На странице коллекции собираете дочерние товары, у которых отмечены данные значения. Для этого можно сделать сниппет:
Делаете чанк outer-tpl c [[+title]] (заголовок) и [[+items]] (товары):
Вызываете на странице:
строка: if($items) return $modx->getChunk('outer-tpl', array('items'->$items, 'title'=>$title));
Пишет ошибку
при вызове сниппета страница не отображается вообще
Сорри, опечатался )
Я реализовал это так (реальный скрипт для магазина керамической плитки), работает вот здесь:
Код:
Нужно только создать поле в таблице товаров KafelType ну или заюзать для этого обычную ТВ-шку.
Смысл в том, чтобы сначала получить все уникальные значения типа кафельной плитки (базовая плитка, плинтус, ступени), а затем выводить это в категории. Если не разберетесь, пишите, попробуем вместе сделать :)
Так вот по хранению контента у нас вышло вот такое дерево
Выбираются позиции по называнию коллекции, типа такого (для страницы «Коллекция»)
У каждой позиции из каталога есть поле—опция «model», которое должно совпадать с названием коллекции.
Ещё вариант, через связи забивать коллекцию.
В продолжение, «страница позиции из коллекции», выборка товаров из этой же коллекции
Опять же, можно и через связи связать товары из 1 коллекции, только зачем.
Если нужно готовое решение, пишите. Могу сделать сборку после сдачи проекта
Если дело ждёт пару дней — подождите) компонент как раз разрабатывался для магазина сантехники, и должен подойти для Вас)
Но в вашем случае делал бы так: Категория: Плитка. Подкатегории: Напольная, Настенная и т.д.
У других производителей же тоже есть такие категории. Поэтому именно категорию не нужно привязывать к к коллекции.
Повторюсь, коллекция привязывается к производителю. И уже в товаре выбор коллекции.
Коллекция — такой же объект, как и производитель в miniShop2, но со своими полями. Ресурсы для них не используются, выводить можно и через виртуальные страницы.
С таким подходом можно получать такие страницы:
Все товары из «Коллекция1»; Бордюры из «Коллекция1» и «Коллекция2»;
А на странице товара: «Декоры из этой же коллекции», «Плинтуса» и т.д.
И это гарантирует нормальное расположение товара в своей категории/подкатегории. Кто-то сможет искать только бордюры — и его не интересует что это за коллекция. Главное-чтобы подошла к текущей плитке.
Возможно, мы говорим об одной и той же структуре разными словами) Но у меня такого не будет:
В один прекрасный момент кто-то решит поправить заголовок и всё навернётся)
В этом бизнесе коллекций не меняю свои названия, их удаляют
Всё таки о технической части решения рассказываю, а не о том, как делать сайт по керамике)
Компонент же не будет создавать структуру сайта, а представляет из себя удобный инструмент для связи коллекций товаров с производителем, минуя неудобства такой фильтрации.
P.S. Вам ещё не встречались одинаковые названий коллекций у разных производителей? :)
Просто моё решение универсально и будет подходить для множества областей, где одинаковые названий коллекций точно есть)