[Решено] Вывести ТОЛЬКО url картинки ImageCache

Главные вкладки

Аватар пользователя volocuga volocuga 14 декабря 2009 в 22:23

Всем известно,что для того,чтобы вывести картинку из определённого пресета,нужно в node.tpl.php вставить такое

<?php print theme('imagecache', 'preset_name', $field_image_cache[0]['filepath']); ?>

HTML получится такой:

<img scr="http://domain.com/path-to-image/image.jpg" class="imagecache..."/>

Мне же надо (чтобы вставить в фид) вывести ТОЛЬКО полный УРЛ к картинке определённого пресета,например

http://domain.com/path-to-image/image.jpg)

Как это сделать?

Комментарии

Аватар пользователя volocuga volocuga 15 декабря 2009 в 1:26

BOOZ:
Задача просто отпечатать ссылку на картинку,без других тегов и стилей

Обухов Никита: а пресет?

gumk: вообще не работает

Аватар пользователя ubercoder ubercoder 15 декабря 2009 в 2:13

base_path().file_directory_path().'/imagecache/<preset_name>/'.$field_image_cache[0]['filename'];

Если картинки по умолчанию грузятся не в корень files, после укажите путь к картинке по отношению к files.
Например, картинки грузятся в sites/default/files/thumbs:

base_path().file_directory_path().'/imagecache/<preset_name>/thumbs/'.$field_image_cache[0]['filename'];

Аватар пользователя volocuga volocuga 15 декабря 2009 в 2:34

ozoned@drupal.org:

Вот-вот,уже ближе. Я тоже с base_path()игрался,но бестолку

Ваш код:
<?php print base_path().file_directory_path().'/imagecache/product_list/'.$field_image_cache[0]['filename']; ?>

Выдаёт такое:

/files/imagecache/product_list/

Немного не дотягивает до полноценного урла

Аватар пользователя ubercoder ubercoder 15 декабря 2009 в 3:00


Выдаёт такое:
/files/imagecache/product_list/
Немного не дотягивает до полноценного урла

Не заметил что вопрос по Drupal 5. В админке 'file_directory_path' задан? Попробуйте тогда вот так, извратная конструкция конечно, но все-же.

base_path().conf_path().'/'.file_directory_path().'/imagecache/<preset_name>/thumbs/'.$field_image_cache[0]['filename'];

Для имени файла посмотрите что есть в $field_image_cache[0] — с imagecache на 5-ке я честно говоря не работал.

Аватар пользователя volocuga volocuga 15 декабря 2009 в 13:49

beerman: Мне для 5-ки.

Я посмотрел в модуль,вот функция темизации:

<?phpfunction theme_imagecache($namespace, $path, $alt = '', $title = '', $attributes = null) {
  // check is_null so people can intentionally pass an empty array of attributes to override
  // the defaults completely... if 
  if (is_null($attributes)) {
    $attributes['class'] = 'imagecache imagecache-'. $namespace;
  } 
  $attributes = drupal_attributes($attributes);
  $imagecache_url = imagecache_create_url($namespace, $path);
  return '<img src="'. $imagecache_url .'" alt="'. check_plain($alt) .'" title="'. check_plain($title) .'" '. $attributes .' />';
}?>

Кто нибудь знает,как вычленить чистый URL?

Аватар пользователя volocuga volocuga 15 декабря 2009 в 14:19

Так,ладно,я поднапряг немного мозг и вышло так:

<?php $imagePath $node->field_image_cache['0']['filepath']; ?>
http://site.com/files/imagecache/<название пресета>/<?php print $imagePath?>

Имеем чистый абсолютный урл картинки пресета