minishop2. Разные цвета
Прочитал «управление связами товаров», но все равно не до конца понял как мне это реализовать.
Можете объяснить как сделать разные цвета для товара?
Структура такая — Категория (контейнер) — Подкатегория (контейнер) — Товар (категория с товарами).
В категории с товарами товары с разными цветами на фото, но с одной ценой и др характеристиками.
Я сделал так — создал связь — многие к одному. По логике — много цветов, один товар.
Правильно ли все что я сделал выше и как быть дальше?
Нужно:
Переходя в категорию с товарами, вывести только один цвет и его характеристики.И внутри у этого товара ссылки на другие цвета из этой же категории.
как лучше сделать в этом случае?
Можете объяснить как сделать разные цвета для товара?
Структура такая — Категория (контейнер) — Подкатегория (контейнер) — Товар (категория с товарами).
В категории с товарами товары с разными цветами на фото, но с одной ценой и др характеристиками.
Я сделал так — создал связь — многие к одному. По логике — много цветов, один товар.
Правильно ли все что я сделал выше и как быть дальше?
Нужно:
Переходя в категорию с товарами, вывести только один цвет и его характеристики.И внутри у этого товара ссылки на другие цвета из этой же категории.
как лучше сделать в этом случае?
Комментарии: 14
Как это ты, не будучи особым читателем, прочитал? Видимо про логику свзяей не прочитал?
1. Создать связь «многие ко многим», ибо связываются товары, а не их параметры. Много товаров, у них равнозначная связь, главного нет.
2. Сделать простейший плагин для поля color — чтобы превратить его в обычное текстовое.
3. Спрятать ненужные товары при выводе каталога, отметитив «не показывать в меню».
4. На странице товара вывести ссылки на другие товары группы сниппетом msProducts:
И простейший чанк tpl.Link.color
Если сделаешь всё внимательно и правильно — будет работать. Возможно, вызов сниппета на странице придётся поправить — я еще не особо это проверял.
1. Создать связь «многие ко многим», ибо связываются товары, а не их параметры. Много товаров, у них равнозначная связь, главного нет.
2. Сделать простейший плагин для поля color — чтобы превратить его в обычное текстовое.
3. Спрятать ненужные товары при выводе каталога, отметитив «не показывать в меню».
4. На странице товара вывести ссылки на другие товары группы сниппетом msProducts:
[[!msProducts?
&link=`номер связи по цвету`
&master=`[[*id]]`
&resources=`-[[*id]]`
&tpl=`tpl.Link.color`
]]
И простейший чанк tpl.Link.color
<a href="[[~[[*id]]]]">[[+pagetitle]] ([[+color]])</a>
Если сделаешь всё внимательно и правильно — будет работать. Возможно, вызов сниппета на странице придётся поправить — я еще не особо это проверял.
спасибо ) а как лучше хранить это все? Так то можно все товары создавать в одном каталоге товаров, но тогда будет мешанина, одни товары скрыты, другие видно, товаров гора.
Лучше делать для каждого товара категорию товаров (и внутри категории уже цвета) и с ней и работать, ну в случае с цветом, или класть все товары все цвета в одну категорию?
p.s я был особым читателем, срок уже прошел, счет пополнить надо) а документы я давно уже на телефон скинул )
Лучше делать для каждого товара категорию товаров (и внутри категории уже цвета) и с ней и работать, ну в случае с цветом, или класть все товары все цвета в одну категорию?
p.s я был особым читателем, срок уже прошел, счет пополнить надо) а документы я давно уже на телефон скинул )
Все товары хранить как обычно, в нужных категориях.
В админке видно будет, какие скрыты, а какие нет, да и поиск в наличии.
Просто логично подумай — это же тоже товар, только с другим цветом. У него должен быть свой артикул, может быть другая цена и т.д. Я бы и скрывать не стал, сделал бы только вывод ссылок в карточке.
В магазин заходишь — там разноцветные телефоны стоят вместе на полочках — чтобы ассортимент был виден. Тут так же, мне кажется.
В админке видно будет, какие скрыты, а какие нет, да и поиск в наличии.
Просто логично подумай — это же тоже товар, только с другим цветом. У него должен быть свой артикул, может быть другая цена и т.д. Я бы и скрывать не стал, сделал бы только вывод ссылок в карточке.
В магазин заходишь — там разноцветные телефоны стоят вместе на полочках — чтобы ассортимент был виден. Тут так же, мне кажется.
Так то да )
Подскажите пожалуйста как вывести связанные товары товара в категории (нужно отобразить доступные цвета товара в категории) связь типа многие ко многим — основной товар показывается в меню, остальные нет
Брал такой вывод из самого товара — не работает!
[[!msProducts:toPlaceholder=`items-color`?
&tpl=`tpl.msProductsColor.row`
&link=`3`
&master=`[[*id]]`
&resources=`-[[*id]]`
&parents=`0`
]]
[[+items-color:!empty=`<h2>Другие цвета</h2>
<div class="row ms2_product">
[[+items-color]]
</div>`]]
Как вариант использовать связь 1 ко многим.
Делать карточку товара (товар с описанием основных свойств товара ) и снипетом выводить связанные товары в которых можно держать доп галереи и уникальные свойства (табами или как захочешь можно гет пейдж под это настроить) В структуре каталога можно отображать только карточки товаров, единственное если товаров много будут проблемы в последующем управлением товарами связанные товары будут все в вперемешку.
Тут нужна кнопочка в списке товароров — показать связанные товары или вкложеность связей надо делать(но это уже инициатива от Василия должна быть)
Делать карточку товара (товар с описанием основных свойств товара ) и снипетом выводить связанные товары в которых можно держать доп галереи и уникальные свойства (табами или как захочешь можно гет пейдж под это настроить) В структуре каталога можно отображать только карточки товаров, единственное если товаров много будут проблемы в последующем управлением товарами связанные товары будут все в вперемешку.
Тут нужна кнопочка в списке товароров — показать связанные товары или вкложеность связей надо делать(но это уже инициатива от Василия должна быть)
Прочитал статью про то как преобразовать поле color — сделал. Цвета есть.
А как вывести все цвета в категории товаров? Т.е чтобы это было как фильтр.
Но чтобы цвета не повторялись (чтобы были только уникальные)
А как вывести все цвета в категории товаров? Т.е чтобы это было как фильтр.
Но чтобы цвета не повторялись (чтобы были только уникальные)
выбрать все id товаров с нужным родителем
выбрать из таблицы опций товаров все уникальные цвета у которых id товара входит в результат первой выборки уникальность проверяется DISTINCT
Может что то с join намутить можно но я в них плохо разбираюсь
выбрать из таблицы опций товаров все уникальные цвета у которых id товара входит в результат первой выборки уникальность проверяется DISTINCT
Может что то с join намутить можно но я в них плохо разбираюсь
никак иначе эту задачу не решить? т/е предложение xpdo?
А возможно ли такое — создать свой сниппет — обратиться к сниппету msProducts — получить все цвета в категории товаров. И потом сделать array_unique на полученный массив ?)
А возможно ли такое — создать свой сниппет — обратиться к сниппету msProducts — получить все цвета в категории товаров. И потом сделать array_unique на полученный массив ?)
bezumkin.ru/modx/minishop2/solutions/1160/ — вторая выборка твоя.
спасибо =)
И последний вопрос по поводу цветов) я вывел все цвета. Как теперь фильтровать товары?
Товары в категории имеют следующую структуру — есть одинаковые товары, но с разными цветами. Один из них отображается в общем каталоге. Другие скрыты.
Я думаю вывести ссылками названия цветов. И при нажатии на ссылку — должны отобразиться скрытые документы выбранного цвета…
Товары в категории имеют следующую структуру — есть одинаковые товары, но с разными цветами. Один из них отображается в общем каталоге. Другие скрыты.
Я думаю вывести ссылками названия цветов. И при нажатии на ссылку — должны отобразиться скрытые документы выбранного цвета…
все, разобрался. все просто:
[[!msProducts?where=`{"Data.color":"зеленая"}` &showHidden=`1`]]
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.