Как не создавать миниатюры для маленьких изображений — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
(Новая страница: «Создадим свой собственный custom-ный макрос (подробнее о создании макроса) Код будет следующ…»)
 
Строка 1: Строка 1:
Создадим свой собственный custom-ный макрос (подробнее о создании макроса)
+
Создадим свой собственный custom-ный макрос ([[подробнее о создании макроса]]http://wiki.umisoft.ru/%D0%92%D1%8B%D0%B7%D0%BE%D0%B2_%D0%BC%D0%B0%D0%BA%D1%80%D0%BE%D1%81%D0%B0_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_custom.php)
  
 
Код будет следующий:
 
Код будет следующий:

Версия 14:09, 28 июля 2010

Создадим свой собственный custom-ный макрос (подробнее о создании макросаhttp://wiki.umisoft.ru/%D0%92%D1%8B%D0%B7%D0%BE%D0%B2_%D0%BC%D0%B0%D0%BA%D1%80%D0%BE%D1%81%D0%B0_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_custom.php)

Код будет следующий:

	public function my_thumbnail($path, $width, $hight, $template, $max, $min) {
if ($width>$hight){
if($max>$width) {
$my_thumbnail = "<img src=".$path." width=".$width." height=".$hight."";
				}
else{
$my_thumbnail = "%system makeThumbnail('.".$path."', '".$max."', 'auto', '".$template."')%";
				}
}
else {
if($max>$hight){
$my_thumbnail = "<img src=".$path." width=".$width." height=".$hight."";
				}
else
				{
$my_thumbnail = "%system makeThumbnail(.".$path.", auto, ".$max.", ".$template.")%";
				}
			}			
return $my_thumbnail; 
		}


Для использования его в tpl-шаблонах сделаем следующее:

В вызове шаблона в папке tpls/data/ указываем:

$FORMS['img_file'] = <<<END
%custom my_thumbnail(%src%, %width%, %height%, имя_шаблона_для_вывода, 100, 100)%
END;

100 - это значения высоты и ширины, которые нас интересуют для вывода (относительно которых будут проверяться размеры изображения)


Шаблон для вывода может быть таким:

<?php

$FORMS = Array();

$FORMS['image'] = <<<END

<img src="%src%" width="%width%" height="%height%" 
END;

?>


То есть он подставит только начало кода для изображения, а окончание "некторый код />" будет указано в шаблоне, где будет выводится изображение.