пятница, 8 апреля 2011 г.

Drupal 7 темизирование и путь изображения

В ядро Drupal7 добавлено поле данных filefield, также есть что то похожее на imagecache в Drupal 6, называется как стили изображения. Когда вы подходите к этапу оформления, вскоре, вы находите, что информация об изображении хранится в массиве отличном от того как было раньше. Здесь вы не найдёте путь к изображению.


Отображение полей изображений в шаблоне

Первое и рекомендованное решение отображение поля — использовать функцию render():
 print render($content['field_name']);
Для выполнения более глубокой настройки(к примеру создание специальной слайд-шоу галереи) вам понадобится путь к изображению:

Вот вы и получили адрес к обработанному изображению. У вас есть возможность отобразить изображение с помощью функции.

theme_image()
 Пример использования theme_image, обратите внимание на параметры:
$output = theme('image', array('path'=>path_to_theme().'/images/picture.gif'));

Также должно работать (не тестировалось):
 $output = theme('image', array('path' =>; $node->field_image['und'][0]['uri']));

theme_image_formatter()
Другое решение это использовать функцию theme_image_formatter, которая делает некоторую работу для вас:
 $var = array(
   'item' => $node->field_image['und'][0],
   'image_style' => 'image_style_name'
 );
 $output = theme_image_formatter($var);

1 комментарий: