Как в msProducts передать свой параметр в tpl ?

{'!msProducts' | snippet : [
          'tpl' => 'tpl.msProducts.box',
          'limit' => 9,
          'parents' => '0',
          'includeThumbs' => 'smallthumb',
          'colums' => 'col-lg-4' <<-- как его передать в шаблон?
        ]}
как сделать чтобы в шаблоне был доступен параметр colums? {$colums} не работает.
UDAV
26 января 2019, 11:12
modx.pro
1 278
0

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

Андрей Шевяков
26 января 2019, 11:39
0
Можно сделать несколько чанков:
{'!msProducts' | snippet : [
          'tpl' => 'tpl.msProducts.box_IDКЛАССА',
          'limit' => 9,
          'parents' => '0',
          'includeThumbs' => 'smallthumb'
        ]}
Например: tpl.msProducts.box_2, tpl.msProducts.box_4. В чанках прописать соответствующие классы: col-lg-2, col-lg-4
И выводить на странице в нужный чанк. Это конечно не слишком правильно, плодить несколько почти одинаковых чанков, но это точно рабочий вариант.

П.С.

Или еще вариант для категории товаров указать TV поле. И в вызове
{'!msProducts' | snippet : [
          'tpl' => 'tpl.msProducts.box',
          'limit' => 9,
          'parents' => '0',
          'includeThumbs' => 'smallthumb',
        'includeTVs' => 'my_class'
        ]}
В чанке выводим [[+my_class]]
    UDAV
    26 января 2019, 12:20
    0
    Это все не подходит. ТВ поле к ресурсу завязано, а мне надо к выводу снипета.
    Причем в pdoResources все работает как надо, а вот в msProducts не работает.
    Александр Мельник
    26 января 2019, 12:31
    0
    Скопируйте код msProducts в свой сниппет.
    Данные, которые передаются в чанк с шаблоном представляют собой массив $row.
    Просто допишите в него передаваемый вами параметр и он станет доступен в шаблоне.
      Павел Романов
      26 января 2019, 13:57
      0
      Попробуйте через pdoResources — он это умеет.
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        4