Категория:
Опубликовано:

Программный вывод изображений материала

Будем программно выводить изображения материала.

Путь к изображению можно получить с помощью, например, такого кода:

$image_uri = $node->field_image['und'][0]['uri'];
  • field_image - название поля с изображением
  • 0 - порядковый номер изображения

Все доступные значения в шаблоне материала:

$node->ИМЯ_ПОЛЯ['und'][0]['uri'];       // путь к файлу (напр. public://image.jpg)
$node->ИМЯ_ПОЛЯ['und'][0]['width'];     // ширина изображения
$node->ИМЯ_ПОЛЯ['und'][0]['height'];    // высота изображения
$node->ИМЯ_ПОЛЯ['und'][0]['alt'];       // альтернативный текст
$node->ИМЯ_ПОЛЯ['und'][0]['fid'];       // ID файла
$node->ИМЯ_ПОЛЯ['und'][0]['filename'];  // имя файла
$node->ИМЯ_ПОЛЯ['und'][0]['filemime'];  // тип файла
$node->ИМЯ_ПОЛЯ['und'][0]['uid'];       // ID пользователя загрузившего файл
$node->ИМЯ_ПОЛЯ['und'][0]['filesize'];  // размер файла в байтах
$node->ИМЯ_ПОЛЯ['und'][0]['status'];    // статус файла
$node->ИМЯ_ПОЛЯ['und'][0]['timestamp']; // дата загрузки файла
$node->ИМЯ_ПОЛЯ['und'][0]['title'];     // заголовок файла

Получить изображение с пресетом можно с помощью функции theme():

$image_uri = $node->field_image['und'][0]['uri'];
$image_alt = $node->field_image['und'][0]['alt'];
$image = theme('image_style', array(
  'style_name' => 'teaser', // teaser - машинное название пресета
  'path'       => $image_uri,
  'alt'        => $image_alt,
));
print $image;

Сниппет выведет первое изображение поля "field_image" со стилем "Teaser".

Если у Вас возникли вопросы, замечания, предложения или просто благодарность - пишите в комментариях.
Делитесь полезными материалами в социальных сетях.
Добавить комментарий