Вывод случайного изображения фотогалереи
Материал из Umicms
Версия от 09:12, 27 апреля 2014; Stexe (обсуждение | вклад)
Актуально для версии 2.9.6
Задача: Выводить путь до изображения случайной фотографии
Реализация:
TPL-шаблонизатор
XSLT-шаблонизатор
В данном варианте мы будем использовать выборки с помощью umiSelection. Кастомный макрос будет возвращать полный путь изображения:
public function getLinkToRandomPhoto() {
$photos = new selector('pages');
$photos->types('object-type')->name('photoalbum', 'photo');
$photos->order('rand');
$randomPhoto = $photos->first;
if ( $randomPhoto instanceof iumiHierarchyElement ) {
$imagePath = $randomPhoto->getValue('photo')->getFilePath();
$imagePath = preg_replace('/^\./', '', $imagePath, 1);
return $imagePath;
}
return '';
}
Пример использования
<img src="%custom phtShowRandomPhotoLink()%" alt="photo" title="random photo" />