Стандартная фотогалерея Амиро подразумевает просмотр каждого фото на отдельной странице, одно фото - одна страница. Иногда это удобно, но чаще требуется более простой механизм - вместо перехода, фотография просто открывается в pop-up окне.
На первый взгляд ничего сложного нет, заменяем код с ссылкой на страницу, на код для открытия pop-up окна. 
В моём случае изменения производились в шаблоне ami_multifeeds_photoalbum.tpl
Было:
<a href="##www_root####script_link##/##catid_sublink##/##id_sublink##">
<img src="##small_picture_src##">
</a>
Стало:
<img src="##small_picture_src##" data-ami-mbgrp="Photo" data-ami-mbpopup="##popup_picture_src##">
Но данная конструкция не будет рабоать из-за особенностей Amiro.CMS.
Логика системы такая - если на момент формирования страницы картинка не сгенерирована, формируется урл к скрипту генерации картинки:
show_pic.php?sname=_mod_files%2Fce_images%2Fphotoalbum%2Fgenerated%2Fkrasd-
30_d0ddas50em_c6f25tr_200x134.jpg&src=
___gen=1|mod=photoalbum|id=132|type=popup_picture|lang=ru
Если картинка уже была сгенерирована, то прямой путь к картинке:
_mod_files/ce_images/photoalbum/generated/krim1-33_d0ddas50em_c6f25tr_200x134.jpg
Необходимо добавить в сет логическую конструкцию и всё заработает:
##setvar @popup_picture_src = (substr(popup_picture_src, 0, 6)=='sname=')?'show_pic.php?' .popup_picture_src:popup_picture_src##
<img src="##small_picture_src##" data-ami-mbgrp="Photo" data-ami-mbpopup="##popup_picture_src##">
Поделиться записью:
|