Логотип

Документация по макросам и шаблонам UMI.CMS

system makeThumbnail()

Название

%system makeThumbnail()% — Создает и выводит уменьшенное изображение (миниатюру) указанной картинки.

Параметры: system makeThumbnail(path, width, height [, template = 'default', returnArrayOnly = '0', flags = '0', quality = '100'])

path

Путь к изображению-оригиналу.

width

Ширина миниатюры в пикселях (можно указать значение «auto»).

height

Высота миниатюры в пикселях (можно указать значение «auto»).

template

Имя шаблона, по которому следует выводить миниатюру.В XSLT-шаблонизаторе игнорируется.

returnArrayOnly

Используется для внутренних целей.

flags

Указывает варианты изменения размеров изображения. (подробнее см. в "Описании")

quality

Указывает степень сжатия (качество) изображения.

Описание

Макрос выводит миниатюру изображения, путь к которому указывается в параметре path.

С версии 2.12 макрос умеет генерировать миниатюры с помощью библиотеки ImageMagick, если она установлена на сервер. При использовании ImageMagick макрос становится более производительным.

Размер миниатюры можно задать, используя параметры width и height. Размеры задаются в пикселях, любой из этих параметров может принимать значение «auto», в этом случае высота или ширина миниатюры устанавливается пропорционально другому параметру.

Качество сжатия миниатюры можно задать через параметр quality. Рекомендуется передавать ему значение от 1 до 100 (чем большее значение передано - тем выше качество изображения).

Способ изменения размеров изображения можно задать через параметр flags. Есть четыре стандартных варианта изменения размеров, которые можно выбрать, передав в параметр flags соответствующее число:

  Если значения высоты и ширины заданы Если одно из значений получается автоматически
0 (4) использовать указанные изменить пропорционально
1 изменить пропорционально (выбрать максимальное изменение) изменить пропорционально
2 использовать указанные при увеличении - использовать исходный размер (не увеличивать)
при уменьшении - уменьшить пропорционально
3 уменьшать пропорционально, иначе использовать заданные значения (не увеличивать) уменьшать пропорционально, иначе использовать исходные значения (не увеличивать)

Дополнительные сведения

Пример вызова

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>

Элементы и атрибуты

<size>

Размер миниатюры в байтах.

<filename>

Имя файла.

<filepath>

Путь к файлу в файловой системе (относительно DOCUMENT_ROOT).

<src>

Путь к файлу относительно корня сайта.

<ext>

Расширение полученного файла миниатюры.

<width>

Ширина полученной миниатюры в пикселях.

<height>

Высота полученной миниатюры в пикселях.

Вывод изображения осуществляется по шаблону, указанному в параметре template. Вы можете не указывать этот параметр, в этом случае для вывода свойства будет использован шаблон по умолчанию — default.tpl.

Используемые шаблоны

Макрос оперирует шаблонами, находящимися в каталоге /tpls/thumbs/.

Используемые блоки шаблона

image

Выводит миниатюру.

%size%

Вес картинки (в байтах).

%filename%

Имя файла миниатюры.

%filepath%

Серверный путь к файлу миниатюры.

%src%

Http — путь к файлу миниатюры.

%ext%

Расширение файла миниатюры.

%width%

Ширина миниатюры (px).

%height%

Высота миниатюры (px).

%template%

Имя шаблона вывода миниатюры.

Примеры использования

Закачайте изображение sample.jpg на сервер в папку /images/ (можно воспользоваться модулем «Файлменеджер»).

Создайте шаблон /tpls/thumbs/sample.tpl со следующим кодом:

<?php

$FORMS = Array();

$FORMS['image'] = <<<END

 <img src="%src%" width="%width%" height="%height%" border="0" />

END;

?>

На любой странице или в любом шаблоне напишите макрос %system makeThumbnail('./images/sample.jpg', '150', 'auto')%.

На странице должна появиться миниатюра шириной 150 px и высотой, пропорциональной ширине исходного изображения.