Как в товарах (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

Но у меня чуть другая ситуация…

Пожалуйста, помогите разобраться.
Сuriosity
17 мая 2018, 22:58
modx.pro
812
0

Комментарии: 2

Сuriosity
18 мая 2018, 15:26
0
Пока остановился на варианте:
— добавляю товарам опцию, например:
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

    Алексей Ерохин
    18 мая 2018, 15:45
    0
    {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 сам справится с выводом, но можно сделать еще связь «один ко многим», чтобы сделать товар с фото главным.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    2