разные шаблоны у элементов при выводе Gallery

Как сделать разные шаблоны у элементов при выводе Gallery
К примеру чтобы первое фото было большим и имело свою обертку а далее фотки поменьше в своих и тд
Есть чтото типа как в pdoResources для элементов? или может хитрости какие то есть как сделать?
Евгений
16 февраля 2021, 23:21
modx.pro
93
0

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

elec3c
17 февраля 2021, 00:16
0
Можно сделать хитрый трюк, хоть и костыль. Например писать в описании изображения ключ. Например 1, а при выводе галереи проверять значение [[+description]], если оно равно вашему ключу то писать одно оформление, если нет, то другое. проверить можно fenom'ом или плагином If/
    Артур
    17 февраля 2021, 01:20
    +1
    Другой вариант, я использовал именно его, скопировать сниппет msgallery и поменять
    $output = $pdoFetch->getChunk($tpl, array(
        'files' => $files,
    ));
    на
    if($tpl){
    $output = $pdoFetch->getChunk($tpl, array(
        'files' => $files,
    ));
    }
    else{
       $output[] = $files;
    }
    В результате, если не указывать шаблон при вызове сниппета, то он вернёт массив, а его можно на fenom перебрать с ключами
    {set $files = '!msGalleryCustom' | snippet}
    {foreach $files as $key => $file}
    {if $key == 0}
    Шаблон для первой картинки
    {else}
    Шаблон для остальных картинок.
    {/if}
    {/foreach}
      elec3c
      17 февраля 2021, 08:42
      0
      Да, так лучше. Это не костыль.
        Иван Бочкарев
        17 февраля 2021, 10:29
        0
        Вопрос был про Gallery, а не msGallery
          Артур
          17 февраля 2021, 12:25
          0
          Зарапортовался(((
          elec3c
          17 февраля 2021, 10:30
          +1
          Глянул нутрянку сниппета Gallery. Там есть недокументированный плейсхолдер [[+idx]]. У первого элемента он 0. Далее как я и писал выше или fenom или If.
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          6