Добавление тайтла к фотографиям в фотоальбоме tpl

Материал из Umicms
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

Актуально для 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 и сформировали изображение с необходимыми данными.