Для началу устанавливаем пакет Gallery.
Вывести обложки альбомов и фотографии
Примерно так, только не забудьте поменять чанки:
[[!GalleryAlbums? &toPlaceholder=`GalleryAlbums` &limit=`0` &albumCoverSort=`rank` &prominentOnly=`1` &rowTpl=`galAlbumRowTpl` ]] [[!Gallery? &toPlaceholder=`Gallery` &checkForRequestTagVar=`1` &useCss=`0` &containerTpl=`GalleryAlbumTpl` &thumbTpl=`galItemThumb`]] [[+Gallery:isnot=``:then=`<div class="gal-item-wrapper">[[+Gallery]]</div>`:else=`<ul class="gal-albums-wrapper">[[+GalleryAlbums]]</ul>`]]
Особый (отдельный) шаблон для первой или какой-то определенной фото
Есть 2 варианта, который вы можете захотеть. Можете захотеть выводить каждый третий, или каджый второй элемент с особым шаблоном. И если так, то вам достаточно просто указать этот шаблон в &thumbTpl_2=`gallery_tpl_custom`
, и все будет работать (нумерация будет пойдет с единицы (&thumbTpl_1)).
Но если у вас друга задача вывести только для картинки под определенным номером отдельный шаблон. К примеру только для первой, то в такой случае придется залезть в код сниппета Gallery и слегка его подправить в двух местах.
//... if (isset($keyBits[0]) && $keyBits[0] === 'thumbTpl') { //if ($i = (int) $keyBits[1]) $nthTpls[$i] = $scriptProperties[$key]; // Эту строчку убирам $nthTpls[(int) $keyBits[1]] = $scriptProperties[$key]; // Эту строчку добавляем } //... //... $thumbTpl = $defaultThumbTpl; if (isset($nthTpls[$idx])) { $thumbTpl = $nthTpls[$idx]; } else { foreach ($nthTpls as $int => $tpl) { //if ( ($idx % $int) === 0 ) $thumbTpl = $tpl; // Эту строчку убирам if ( $idx == $int ) $thumbTpl = $tpl; // Эту строчку добавляем } } //...
И вызываем вот так (нумерация идет с нуля):
[[!Gallery? &album=`[[*gal-item]]` &useCss=`0` &thumbTpl=`gallery_item_tpl` &thumbTpl_0=`gallery_item_tpl_main` &thumbTpl_1=`gallery_item_tpl_sub` &thumbTpl_2=`gallery_item_tpl_sub` ]]
Некоторые плейсхолдеры в галереи
[[+image_absolute]]
Изображение без изменений размера. Его можно ресайзить самостоятельно в чанке вот так [[+image_absolute:rezimgcrop=`r-800`]][[+album]]
id альбома. Можно использовать чтобы подцепить все изображения в одну галерею fancybox - ...class="fancybox" rel="gallery_[[+album]]"
...
Modx Gallery. Блок на главной — «ГАЛЕРЕЯ НАШИХ РАБОТ» содержит некоторое количество альбомов, внутри которых фотографии. Если выводить стандартным чанком «galAlbumRowWithCoverTpl», то выводятся заглавные картинки альбомов.
А как сделать при клике на альбом, чтобы открывалась галерея с фотографиями (содержимым альбома)…? не понимаю… Сейчас ссылка в чанке на это выглядит так…
<a href="[[+url:is=``:then=`[[+image]]`:else=`[[+url]]`]]" [[+link_attributes]]>
[[+image:notempty=`<img src="[[+image]]" [[+cls:notempty=`class="[[+cls]]"`]] alt="[[+title]]" />`]]
Как поменять ее в нужную сторону?
Modx Gallery. Блок на главной — «ГАЛЕРЕЯ НАШИХ РАБОТ» содержит некоторое количество альбомов, внутри которых фотографии. Если выводить стандартным чанком «galAlbumRowWithCoverTpl», то выводятся заглавные картинки альбомов.
А как сделать при клике на альбом, чтобы открывалась галерея с фотографиями (содержимым альбома)…? не понимаю… Сейчас ссылка в чанке на это выглядит так…
<a href="[[+url:is=``:then=`[[+image]]`:else=`[[+url]]`]]" [[+link_attributes]]>
[[+image:notempty=`<img src="[[+image]]" [[+cls:notempty=`class="[[+cls]]"`]] alt="[[+title]]" />`]]
Как поменять ее в нужную сторону?
Все сделал как у Вас, но почему то &thumbTpl_0 не выводит. Если &thumbTpl_1, или &thumbTpl_2 и т.д., то все норм, выводит второе, третье и т.д. фото с указанным шаблоном. Но именно &thumbTpl_0 не срабатывает и ему присваивается стандартный шаблон.
Подскажите, в чем может быть проблема?
Заменил на все заработало.
Т.е. правильно:
Только начало теперь не с 0, а с 1.
Т.е. — это будет шаблоном для первой миниатюры