ms2gallery: вывести первое, либо все, кроме первого фото в зависимости от их количества
Привет всем!
Прошу помочь c решением одной задачки по ms2gallery:
на странице стоит вызов
Как можно это реализовать? Сейчас код чанка такой:
Прошу помочь c решением одной задачки по ms2gallery:
на странице стоит вызов
[[!ms2Gallery?
&tpl=`tpl.ms2GalleryObject`
&frontend_css=``
&frontend_js=``
]]
в зависимости от кол-ва изображений должно выводиться либо no-photo, либо одна фотография, либо все фотографии, кроме первой (она отображается отдельно).Как можно это реализовать? Сейчас код чанка такой:
{if count($files) > 1}
<div class="gallery__main-photo" data-background="{foreach $files as $file}{$file['url']}{/foreach}"></div> // тут необходимо вывести первое фото
<div class="fotorama">
{foreach $files as $file} // тут необходимо вывести все фото, кроме первого
<a href="{$file['url']}"><img src="{$file['thumb']}"></a>
{/foreach}
</div>
{elseif count($files) == 1}
<div class="gallery__main-photo" data-background="{foreach $files as $file}{$file['url']}{/foreach}"></div> // тут необходимо вывести первое фото
{else}
<div class="gallery__no-photo"></div>
{/if}
Комментарии: 8
Используйте модификатор length, вот документация
вроде length выводит только длину переменной?
Он также выводит длину массива
length (len, strlen) — выводит длину переменной. Может принимать строку или массив.Пример из документации:
{'var' | length} // 3
{['key' => 'value'] | len} // 1
Немного не понял вопрос, вот как нужно:
Это один из вариантов
UPD
{foreach $files as $file}
{if $file@first}
{else}
<a href="{$file['url']}"><img src="{$file['thumb']}"></a>
{/if}
{/foreach}
Это один из вариантов
UPD
{foreach $files as $file}
{if $file@first != true}
<a href="{$file['url']}"><img src="{$file['thumb']}"></a>
{/if}
{/foreach}
Что-то типа такого можно, ну в общем вы поняли
Спасибо! То что нужно :)
Единственный момент
Единственный момент
{foreach $files as $file}
{if $file@first != true}
{/if}
{/foreach}
работает отлично, а как быть, чтобы показать только первое фото? Ведь{foreach $files as $file}
{if $file@first == true}
{/if}
{/foreach}
будет грузить страницу, перебирая все оставшиеся фото. Есть ли вариант обойтись без цикла и сделать вызов только первого фото?
Это просто, почитайте про синтаксис fenom на github, он схож с самим php
$files[0]['url'] или $files[0]['thumb']
Супер! Спасибо. Буду учить матчасть по fenom :)
Пожалуйста, рад помочь
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.