Описание изображений в MODx SmartData

Для добавления привязки изображений в модулей MODx Smart Data, необходимо в файле описывающем структуру таблицы добавить в массив описания новый элемент с индексом SD_TABLE_IMAGES. Т.к. к одной записи можно привязывать несколько разных типов изображений (например лицевая картинка и галлерея снимков), то элемент $sd_table[SD_TABLE_IMAGES] является массивом.

Рассмотрим на примере привязку изображений. Существует необходимость сделать вывод каталога товаров, и при этом к каждому товару должна прикреплятся 1 одна лицевая картинка размером 100x100px, а также серия снимков с размером по высоте 80px (для вывода уменьшенных фоток по горизонтали) и с размерами не превышающими 800x600px.

Пример кода

$sd_table[SD_TABLE_IMAGES][] = array(
        SD_IMG_Name => 'Лицевая',
        SD_IMG_Folder => SD_SITEDIR.'assets/images/sdNewsFace/',
        SD_IMG_Single => true,
        SD_IMG_Images => array(
            array(
                SD_IMG_ResizeType => SD_IMG_RT_FIXED,
                SD_IMG_WIDTH => 100,                
                SD_IMG_HEIGHT => 100                
            )
        )
    );

$sd_table[SD_TABLE_IMAGES][] = array(
        SD_IMG_Name => 'Галлерея',
        SD_IMG_Folder => SD_SITEDIR.'assets/images/sdNewsGalleries/',
        SD_IMG_Images => array(
            array(
                SD_IMG_ResizeType => SD_IMG_RT_STRETCH_HEIGHT,
                SD_IMG_HEIGHT => 80
            ),
            array(
                SD_IMG_Suffix => 'big',
                SD_IMG_WIDTH  => 800,
                SD_IMG_HEIGHT => 600                
            )
        )
    );

ОП??САН??Е ПАРАМЕТРОВ

Параметр Описание Default
Общие параметры
SD_IMG_Name Отображаемое имя null
SD_IMG_Folder Путь к директории в которой будут сохранятся изображения. Необходимо указать от корня файловой системы (см. пример.) null
SD_IMG_Single Если установленн этот флаг, то доступно подгрузить только 1 изображение, в противном случае можно подгружать неограниченное число изображений false
SD_IMG_Images Массив с описанием форматов сохраняемых изображений array()
Параметры описывающие формат сохранения изображения
SD_IMG_Suffix Суффикс добавляемый к имени сохранённого изображения. Можно не задавать суффикс для одного формата изображения, для него суффикс принимается равным ''. ''
SD_IMG_WIDTH Ширина в px null
SD_IMG_HEIGHT Высота в px null
SD_IMG_ResizeType

Тип трансформации изображения

  • SD_IMG_RT_FIXED - изображение приводится к фисксированному размеру (при этом вырезка идёт от центра изображения, в случае когда пропорции исходного и конечного изображения не совпадают будут обрезатся края).
    Необходимо указать:SD_IMG_WIDTH, SD_IMG_HEIGHT
  • SD_IMG_RT_STRETCH_WIDTH - изображение приводится по ширине
    Необходимо указать:SD_IMG_WIDTH
  • SD_IMG_RT_STRETCH_HEIGHT - изображение приводится по высоте
    Необходимо указать: SD_IMG_HEIGHT

Если значение параметра не установленно, то при указании параметров SD_IMG_WIDTH, SD_IMG_HEIGHT эти параметры указывают максимальный размер по указанному параметру (ширине, высоте), если не задан не один из этих параметров то изображение сохраняется в исходном виде

null