Добавление тайтла к фотографиям в фотоальбоме tpl
Актуально для 2.9.6
Задача: в фотоальбоме в списке фотографий к каждому превью добавить атрибуты title и alt оригинального изображения.
Решение:
Проблема заключается в том, что получить значение поля title при выводе изображения не удастся, так как неизвестно значение id страницы с фотографией.
Данную задачу можно решить настройкой шаблонов. Для простоты понимания будем редактировать стандартные шаблоны от демо-шаблона интернет магазина demoold, по продаже хомячков. Нам необходимо:
1) откройте шаблон вывода превью изображения \tpls\data\preview_image.tpl и отредактируем блок 'img_file'
<?php
$FORMS = Array();
$FORMS['img_file'] = <<<END
<img %system makeThumbnail(%filepath%, 120, 'auto', 'view2')% alt="%data getProperty('%id%', 'title')%" title="%data getProperty('%id%', 'title')%"/>
END;
?>
Здесь в макросе мы указали шаблон view2, который создадим на следующем шаге.
2) сделайте копию шаблона для макроса %system makeThumbnail% находящегося по адресу tpls\thumbs\view.tpl и переименуйте её в название данной на первом шаге. В нашем случае название копии шаблона будет view2.
3) откройте сделанную копию шаблона на редактирование и приведите код к указанному ниже
<?php
$FORMS = Array();
$FORMS['image'] = <<<END
src="%src%" width="%width%" height="%height%" border="0" style="border: #000 1px solid;"
END;
?>
4) откройте шаблон, по которому будет выводиться title /tpls/data/default.tpl и найдите там блок $FORMS['string']. приведите код блока к коду указанному ниже
$FORMS['string'] = <<<END
%value%
END;
Таким образом, мы взяли необходимые данные из макроса makeThumbnail и сформировали изображение с необходимыми данными.