Использование макроса system makeThumbnail с учетом ориентации изображения, TPL-шаблоны — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
 
Строка 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;