Блог специалистов
19.10.2011

Получить ширину, высоту, размер изображения в WebAsyst

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

Стандартными средствами добиться этого не оказалось сложно, поэтому есть решение в создании плагина smarty.

Решение очень простое и работает во всех файлах шаблона.

Что и как:

1. Создаем файл плагина modifier.picsize.php в /kernel/incudes/smarty/plugins/ с кодом:

<?php
function smarty_modifier_picsize ($picture_file_name, $dimension){
$picture_file_path = DIR_PRODUCTS_PICTURES.'/'.$picture_file_name;
if (file_exists ($picture_file_path)){
$size = getimagesize($picture_file_path);
switch ($dimension){
case 'width': {
return $size[0];
}
case 'height': {
return $size[1];
}
}
}
}
?>

2. В шаблоне используем следующие выражения для вывода ширины или высоты:

{$product_info.picture|picsize:'width'}
{$product_info.picture|picsize:'height'}

Количество показов: 3329




Возврат к списку