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

Материал из Umicms
Версия от 12:54, 5 июня 2013; Mad grant (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

В 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;