УрокРабота с изображениями в Drupal 7. Аналог imagecache.

В шестом Друпале все операции с изображениями делались через модуль Imagecache. Это контриб модуль, который приходилось скачивать и устанавливать. В Drupal 7 он был включен в ядро и стал частью модуля Image.

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

print theme('imagecache', $preset_name, $image_path, $alt = '', $title = '', $attributes = NULL, $getsize = TRUE, $absolute => TRUE);

В седьмом Друпале это делается немного иначе:

$params = array(
  'style_name' => 'thumbnail',
  'path' => $image->uri,
  'alt' => $image->alt,
  'title' => $image->title,
  'attributes' => array('class' => array('image')),
  'getsize' => FALSE,
);
print theme('image_style', $params);

style_name - имя пресета, настраиваемое в админке (/admin/config/media/image-styles).

Получение полного пути к картинке по fid

$fid = $node->field_image['und'][0]['fid'];
$uri = file_load($fid)->uri;
print file_create_url($uri);

Комментарии

Аватар пользователя xandeadx
xandeadx написал:

'class' => array('image-class')

04.01.2012 23:51
Аватар пользователя SplasH
SplasH написал:

просмотрел, спс.

05.01.2012 01:05
Аватар пользователя kirioroidos
kirioroidos написал:

А как вывести оригинал загруженного изображения - т.е. без пресета а как есть?

17.01.2012 10:45
Аватар пользователя SplasH
SplasH написал:
$fid   = $node->field_image['und'][0]['fid'];
$uri   = file_load($fid)->uri;
$path  = file_create_url($uri);
print theme('image', array('path' => $path));
20.01.2012 02:18
Аватар пользователя Vydrin_AP
Vydrin_AP написал:

А еще можно получить путь к файлу с указанным пресетом:

print image_style_path('thumbnail', $uri);
13.03.2012 13:06
Аватар пользователя gdg
gdg написал:

А как вывести это изображение в views ?

16.05.2012 14:45

Комментировать

                                                                             
ad88888ba 888888888888 8b d8 ad88888ba ,d8
d8" "88 88 `8b d8' d8" "8b ,d888
8P 88 88 `8b d8' Y8a a8P ,d8" 88
Y8, ,d88 88 `8b d8' "Y8aaa8P" ,d8" 88
"PPPPPP"88 88 `8b d8' ,d8"""8b, ,d8" 88
8P 88 `8b d8' d8" "8b 8888888888888
8b, a8P 88 `888' Y8a a8P 88
`"Y8888P' 88 `8' "Y88888P" 88

Enter the code depicted in ASCII art style.