Пример использования
// Создаём миниатюру и получаем набор данных о ней
$data = $this->macros('system', 'makeThumbnail', array('images/cms/data/razem.jpg', 50 ,
50));
// Выводим миниатюру на странице
<img src="<?= $data['src']?>;" alt="" />
В данном случае, в $data['src'] будет находиться путь к созданной миниатюре. Все данные, которые мы получаем с помощью этого макроса, можно посмотреть, прописав команду
var_dump($data);
Пример вызова
udata://system/makeThumbnail/(images/top.jpg)/(auto)/100
XML-ответ UData
<udata module="system" method="makeThumbnail" generation-time="0.000922">
<size>31677</size>
<filename>top_auto_100.jpg</filename>
<filepath>
./images/cms/thumbs/19f49d852660fe0a079cbf95c3efb34ba88de911/top_auto_100.jpg
</filepath>
<src>
/images/cms/thumbs/19f49d852660fe0a079cbf95c3efb34ba88de911/top_auto_100.jpg
</src>
<ext>jpg</ext>
<width>512</width>
<height>100</height>
</udata>
Вывод изображения осуществляется по шаблону, указанному в параметре template. Вы можете не указывать этот параметр, в этом случае для вывода свойства будет использован шаблон по умолчанию — default.tpl
.
Используемые блоки шаблона
image
Выводит миниатюру.
- %size%
-
Вес картинки (в байтах).
- %filename%
-
Имя файла миниатюры.
- %filepath%
-
Серверный путь к файлу миниатюры.
- %src%
-
Http — путь к файлу миниатюры.
- %ext%
-
Расширение файла миниатюры.
- %width%
-
Ширина миниатюры (px).
- %height%
-
Высота миниатюры (px).
- %template%
-
Имя шаблона вывода миниатюры.
- %img_alt%
-
Альтернативный текст (alt) изображения.
- %img_title%
-
Описание (title) изображения.
Примеры использования
Закачайте изображение sample.jpg
на сервер в папку /images/
(можно воспользоваться модулем «Файлменеджер»).
Создайте шаблон /tpls/thumbs/sample.tpl
со следующим кодом:
<?php
$FORMS = Array();
$FORMS['image'] = <<<END
<img src="%src%" width="%width%" height="%height%" border="0" alt="%img_alt%"" title="%img_title%" />
END;
?>
На любой странице или в любом шаблоне напишите макрос %system makeThumbnail('./images/sample.jpg', '150', 'auto')%.
На странице должна появиться миниатюра шириной 150 px и высотой, пропорциональной ширине исходного изображения.
Название
%system makeThumbnail()% — Создает и выводит уменьшенное изображение (миниатюру) указанной картинки.
Параметры: system makeThumbnail(path, width, height [, template = 'default', returnArrayOnly = '0', flags = '0', quality = '100', alt = '', title = ''])
- path
-
Путь к изображению-оригиналу.
- width
-
Ширина миниатюры в пикселях (можно указать значение «auto»).
- height
-
Высота миниатюры в пикселях (можно указать значение «auto»).
- template
-
Имя шаблона, по которому следует выводить миниатюру.В XSLT-шаблонизаторе игнорируется.
- returnArrayOnly
-
Используется для внутренних целей.
- flags
-
Указывает варианты изменения размеров изображения. (подробнее см. в "Описании")
- quality
-
Указывает степень сжатия (качество) изображения.
- alt
-
Альтернативный текст (alt) изображения.
- title
-
Описание (title) изображения.
Описание
Макрос выводит миниатюру изображения, путь к которому указывается в параметре path.
С версии 2.12 макрос умеет генерировать миниатюры с помощью библиотеки ImageMagick, если она установлена на сервер. При использовании ImageMagick макрос становится более производительным.
Размер миниатюры можно задать, используя параметры width и height. Размеры задаются в пикселях, любой из этих параметров может принимать значение «auto», в этом случае высота или ширина миниатюры устанавливается пропорционально другому параметру.
Качество сжатия миниатюры можно задать через параметр quality. Рекомендуется передавать ему значение от 1 до 100 (чем большее значение передано - тем выше качество изображения).
Способ изменения размеров изображения можно задать через параметр flags. Есть четыре стандартных варианта изменения размеров, которые можно выбрать, передав в параметр flags соответствующее число:
Если значения высоты и ширины заданы | Если одно из значений получается автоматически | |
0 (4) | использовать указанные | изменить пропорционально |
1 | изменить пропорционально (выбрать максимальное изменение) | изменить пропорционально |
2 | использовать указанные | при увеличении - использовать исходный размер (не увеличивать) при уменьшении - уменьшить пропорционально |
3 | уменьшать пропорционально, иначе использовать заданные значения (не увеличивать) | уменьшать пропорционально, иначе использовать исходные значения (не увеличивать) |