Этот гребаный Gallery! Modx gallery вывести обложку альбома
[MODx, Gallery] Галерея. Вывести обложки альбомов и фотографии
Для началу устанавливаем пакет Gallery.
Вывести обложки альбомов и фотографии
Примерно так, только не забудьте поменять чанки:
[[!GalleryAlbums? &toPlaceholder=`GalleryAlbums` &limit=`0` &albumCoverSort=`rank` &prominentOnly=`1` &rowTpl=`galAlbumRowTplmy` ]] [[!Gallery? &toPlaceholder=`Gallery` &checkForRequestTagVar=`1` &useCss=`0` &containerTpl=`GalleryAlbumTpl` &thumbTpl=`gallery-item-tpl`]] [[+Gallery:isnot=``:then=`<div>[[+Gallery]]</div>`:else=`<ul>[[+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]]"...
Способ поблагодарить автора сайта:
webstool.ru
Параметр |
Описание |
По умолчанию |
Пример |
&album |
Вывод элементов из заданного альбома. Имя или id альбома. |
нет |
&album=`4` |
&tag |
Вывод элементов с заданным тегом. |
нет |
&tag=`gallery` |
&plugin |
Имя плагина для отображения использования специфического вывода изображений |
нет |
|
&thumbTpl |
Чанк, используемый в качестве шаблона вывода миниатюрных изображений. |
galItemThumb |
&thumbTpl=` newThumb ` |
|
Дополнительный чанк для обертки вывода |
нет |
&containerTpl=` newTpl` |
&toPlaceholder |
Помещает вывод сниппета в плэйсхолдер с заданным именем. |
нет |
&toPlaceholder=` name` |
&thumbWidth |
Ширина эскиза, в пикселях. |
100 |
&thumbWidth=`456` |
&thumbHeight |
Высота эскиза, в пикселях. |
|
&thumbHeight=`456` |
&thumbZoomCrop |
Использование увеличения в эскизах |
1 |
&thumbZoomCrop=`0` |
&thumbFar |
Соотношение сторон для phpThumb с эскиза. В размере, указанном в параметрах «w» и «h» (должны быть заданы оба). Выравнивание: L = слева, R = справа, T = сверху, B = снизу, C = центр. Задаётся для BL, BR, TL, TR в изображениях, пейзаж или портрет.
|
C |
&thumbFar=`R` |
&thumbQuality |
Качество эскизов, в диапозоне: 0-100. |
90 |
&thumbQuality=`45` |
&thumbProperties |
Параметры JSON объекта для передачи в качестве свойств эскиза в phpThumb. |
нет |
|
&imageWidth |
При использовании плагина, максимальная ширина изображения. |
500 |
&imageWidth=`800` |
&imageHeight |
При использовании плагина, максимальная высота изображения. |
500 |
&imageHeight=`800` |
&imageZoomCrop |
Использование технологии zoomcrop. |
нет |
&imageZoomCrop=`1` |
& imageFar |
Соотношение сторон изображений для phpThumb. |
|
|
&imageQuality |
При использовании плагина, качество изображений, в диапозоне: 0-100. |
90 |
&imageQuality=`45` |
&imageProperties |
Параметры JSON объекта для передачи в качестве свойств изображений в phpThumb. |
|
|
&sort |
Порядок вывода изображений. При использовании значения "rand" вывод изображений будет без упорядоченным. |
rank |
&sort=`rand` |
&dir |
Обычный или обратный вывод изображений. |
ASC |
DESC |
&limit |
Задаёт лимит вывода изображений. Ноль значит выводить все. |
0 |
&limit=`7` |
&start |
При ограничении числа вывода изображений, означает вывод с заданного числа. |
0 |
&start=`5` |
&albumRequestVar |
Можно использовать для определения варианта запроса для поиска фильтром альбома, используя в связке с checkForRequestAlbumVar=`true`. Можно использовать для фильтра по имени или ID. |
galAlbum |
&albumRequestVar=` newAlbum ` |
&checkForRequestAlbumVar |
Если найден вариант запроса со свойством albumRequestVar (по умолчанию galAlbum), то это значение будет использовано как свойство альбома для сниппета. |
false |
&checkForRequestAlbumVar=`true` |
&tagRequestVar |
Можно использовать для определения варианта запроса для поиска фильтром дескрипторов, используя в связке с checkForRequestTagVar=`true`. |
galTag |
|
&checkForRequestTagVar |
Если найден вариант запроса со свойством tagRequestVar (по умолчанию galTag), то это значение будет использовано как свойство дескриптора для сниппета. |
false |
&checkForRequestTagVar=`true` |
&useCss |
Если верно, то будет использоваться CSS, предоставленные сниппетом Gallery. Установите значение «0», чтобы не загружать CSS, предоставленные сниппетом Gallery. |
1 |
&useCss=`0` |
&itemCls |
CSS класс для каждого из элементов. |
gal-item |
&itemCls=`new_gal-item ` |
&activeCls |
CSS класс, который нужно добавить к элементу, если он активен. |
gal-item-active |
&activeCls=`new_gal-item-active ` |
&linkToImage |
Делать прямую ссылку на изображение для каждой пиктограммы или на элемент галереи – пользовательский URL-адрес. |
0 |
&linkToImage=`1` |
&linkAttributes |
HTML-характеристики для А дескриптора в tpl (файле шаблона) элемента. |
|
|
&imageAttributes |
HTML-характеристики для дескриптора изображения в tpl (файле шаблона) элемента. |
|
|
freelgraf.in.ua
Этот гребаный Gallery!
Привет всем. Уже запарился с расширением Gallery. Установил Gallery, If Создал альбом, загрузил тестовые фотографии. Интегрирую в шаблонГалерея (внизу страницы)Вывод Gallery сделал в ресурсе с шаблоне под полем [[*content]]
[[!Gallery? &album=`1` &thumbWidth=`262` &thumbHeight=`175` &thumbZoomCrop=`1` &imageWidth=`1200` &imageHeight=`1000` &containerTpl=`galProjectRowTpl` &thumbTpl=`galProjectThumb` ]]В чанке galProjectRowTpl все более-менее понятно, обертка галереи
<div> <div> [[+thumbnails]] </div> </div>А вот с иконками беда какая-то.Чанк galProjectThumb содержит по-умолчанию такой код:
<div> <div> <figure> <span> <span></span> <span> <a href="assets/images/demo/mockups/1200x800/20-min.jpg" data-plugin-options='{"type":"image"}'> <span></span> </a> <a href="portfolio-single-slider.html"> <span></span> </a> </span> </span> <img src="assets/images/demo/mockups/600x399/20-min.jpg" alt=""> </figure> </div> </div>Интегрировав Gallery я посдтавил дефолтные плейсхолдеры и получилось вот это:
<div> <div> <figure> <span> <span></span> <span> <a href="[[+linkToImage:if=`[[+linkToImage]]`:is=`1`:then=`[[+image_absolute]]`:else=`[[~[[*id]]? &[[+imageGetParam]]=`[[+id]]` &[[+albumRequestVar]]=`[[+album]]` &[[+tagRequestVar]]=`[[+tag]]` ]]`]]" data-plugin-options='{"type":"image"}'> <span></span> </a> <a href="portfolio-single-slider.html"> <span></span> </a> </span> </span> <img src="[[+thumbnail]]" alt=""> </figure> </div> </div>И тут самый главный вопрос, почему не открывается увеличенная фотка, либо пишет Image Not Loaded?
Видуально галерея вроде выводится, но почему-то получаются пропуски типа этого:
Причем такие пропуски при объемной галерее могут быть в разных местах разное количество раз. Не первый сайт, где сталкиваюсь с такой проблемой.
Кто может подсказать по правильному синтаксису? Может что-то где-то забыл? А мануал по Gallery это для сайгака, чтоб скакать со страницы на страницу в поисках истины. Спасибо.
modx.ru