Как в товарах (slave) динамически вывести фотогалерею главного товара (master)?
Структура:
Майки (категория) (25)
Майка1 (101)
Майка2 (102)
Майка3 (103) — Главный товар (L) — с фото
Майка4 (104) — Дубликат (103) (M) — без фото, но с отличиями в описании
Майка5 (105) — Дубликат (103) (XL) — без фото, но с отличиями в описании
…
Майка4 (104) и Майка5 (105) — копии товара Майка3 (103), но с разными размерами. Соответственно они имеют Связь «Многие ко многим», где master = 103.
Учитывая, что у главного товара есть загруженные фото (ms2Gallery), то для (104) и (105) нет смысла загружать теже фото, что и у Майка3 (103).
Вопрос, как в карточках товара Майка4 (104) и Майка5 (105) грамотно динамически вывести фотогалерею главного товара (Майка3)
или, проще говоря, как в этих карточках вывести id главного товара (Майка3)?
При этом хотелось бы НЕ использовать TV-поля.
Среди прочего смотрел вот это
Разные цвета,
это Плагины товаров
и это: msProducts
Но у меня чуть другая ситуация…
Пожалуйста, помогите разобраться.
Майки (категория) (25)
Майка1 (101)
Майка2 (102)
Майка3 (103) — Главный товар (L) — с фото
Майка4 (104) — Дубликат (103) (M) — без фото, но с отличиями в описании
Майка5 (105) — Дубликат (103) (XL) — без фото, но с отличиями в описании
…
Майка4 (104) и Майка5 (105) — копии товара Майка3 (103), но с разными размерами. Соответственно они имеют Связь «Многие ко многим», где master = 103.
Учитывая, что у главного товара есть загруженные фото (ms2Gallery), то для (104) и (105) нет смысла загружать теже фото, что и у Майка3 (103).
Вопрос, как в карточках товара Майка4 (104) и Майка5 (105) грамотно динамически вывести фотогалерею главного товара (Майка3)
или, проще говоря, как в этих карточках вывести id главного товара (Майка3)?
При этом хотелось бы НЕ использовать TV-поля.
Среди прочего смотрел вот это
Разные цвета,
это Плагины товаров
и это: msProducts
Но у меня чуть другая ситуация…
Пожалуйста, помогите разобраться.
Комментарии: 2
Пока остановился на варианте:
— добавляю товарам опцию, например:
clothes_gallery_id_id (id Галереи главного товара);
— соответственно в Майка4 (104) и Майка5 (105) в этой опции указываю 103;
— в шаблонах для карточек товаров дубликатов пишу что-то вроде:
Все же лучше, чем использовать TV
— добавляю товарам опцию, например:
clothes_gallery_id_id (id Галереи главного товара);
— соответственно в Майка4 (104) и Майка5 (105) в этой опции указываю 103;
— в шаблонах для карточек товаров дубликатов пишу что-то вроде:
{if $_pls['clothes_gallery_id.value'] > 0}
{$_modx->runSnippet('!ms2Gallery', [
'resources' => $_pls['clothes_gallery_id.value'],
'tpl' => '@FILE chunks/gallery/tpl.ms2Gallery.tpl'
])}
{else}
{$_modx->runSnippet('!ms2Gallery', [
'tpl' => '@FILE chunks/gallery/tpl.ms2Gallery.tpl'
])}
{/if}
Все же лучше, чем использовать TV
{set $masterid = 'msProducts' | snippet : ['slave'=>104, 'link'=>link_id, 'returnIds'=>1]}
{$_modx->runSnippet('!ms2Gallery', [
'resources' => $masterid,
'tpl' => '@FILE chunks/gallery/tpl.ms2Gallery.tpl'
])}
link_id — взять со страницы всех связей При связи «многие ко многим» вернутся все товары (с фото и без), по идее ms2gallery сам справится с выводом, но можно сделать еще связь «один ко многим», чтобы сделать товар с фото главным.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.