Добавление тайтла к фотографиям в фотоальбоме tpl — различия между версиями

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

Текущая версия на 10:23, 19 сентября 2018

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