Использование макроса system makeThumbnail с учетом ориентации изображения, TPL-шаблоны — различия между версиями
Материал из Umicms
VITL' (обсуждение | вклад) |
Mad grant (обсуждение | вклад) |
||
Строка 18: | Строка 18: | ||
END; | END; | ||
</pre> | </pre> | ||
+ | [[Категория:Написание кастомных макросов]] |
Текущая версия на 12:54, 5 июня 2013
В XSL-шаблонах достаточно легко вставить проверку того, какую ориентацию имеет изображение, горизонтальную или вертикальную, и в зависимости от этого запустить макрос system makeThumbnail() с нужным шаблоном. В TPL-шаблонах подобную проверку стандартными средствами не прописать. Для решения данной задачи, в файле classes/modules/custom.php добавим дополнительный метод:
public function customMakeThumbnail($filepath, $width, $height, $tpl, $size){
$ini_system = system_buildin_load('system');
if($width > $height){
return $ini_system->makeThumbnail($filepath, 'auto', $size, $tpl);
}else{
return $ini_system->makeThumbnail($filepath, $size, 'auto', $tpl);
}
}
вызов этого макроса производится в tpl-шаблоне, в блоке img_file:
$FORMS['img_file'] = <<<END %custom customMakeThumbnail(%filepath%, %width%, %height%, 'view', 120)% END;