Drupal 6
я использую <?php print $node->content['image_attach']['#value'] ?>
в node.tpl.php
Файл шаблона для получения изображения и получения изображения, связанного с его узлом.
Как я могу получить только путь к изображению?
РЕДАКТИРОВАТЬ: Нет связанного поля CCK. Это модуль прикрепления изображений. Посмотри пожалуйста http://imgur.com/YzyUGZU
Если я правильно понял из ваших комментариев, вы прикрепляете изображение к узлу через подмодуль Image Attach в Drupal 6’s Образ модуль.
Этот подмодуль работает так: когда вы присоединяете изображение к вашему узлу, он сначала создает новый узел для этого изображения и присоединяет этот новый узел к вашему исходному узлу. Подобно тому, как «современные» ссылки на сущности работают в Drupal 7 и 8.
Вы можете подтвердить, что прикрепление изображения создает новый узел, перейдя в admin/content/node
обзор и увидеть новый тип узла image
появляются в списке.
Самый простой способ получить информацию об этом узле — извлечь ее из информации на текущем node
объект:
$paths = $node->image_attach[0]->images
Это позволит получить набор путей к файлам для различных версий изображения. Например:
$original_path = $node->image_attach[0]->images['_original']
Будет ссылаться на ваше оригинальное, неизмененное изображение, тогда как:
$thumbnail_path = $node->image_attach[0]->images['thumbnail']
Будет ссылка на его уменьшенную версию (если есть).
Как вы, возможно, знаете, подмодуль Image Attach позволяет вам добавлять несколько изображений в ваш узел. В моем примере я слепо взял первое изображение, используя [0]
, Если у вас есть несколько изображений, вы, конечно, должны пройтись по различным записям, присутствующим на вашем image_attach
массив.
Если вы хотите получить еще больше информации о каждом узле изображения, который был присоединен к вашему исходному узлу, вы также можете загрузить сам фактический узел и работать с этим:
$nid = $node->image_attach[0]->nid;
$image_node = node_load($nid);
Здесь вы полностью загружаете указанный узел и имеете всю его информацию доступной.
Последний случай, однако, может привести к ненужным накладным расходам, поскольку при полной загрузке узла дополнительная информация отсутствует. Полная ссылка уже предоставлена субмодулем Image Attach внутри вашего оригинала node
объект. Просто знайте, что Image Attach на самом деле создает дополнительные узлы изображения под водой, которые вы можете рассматривать как таковые.
Других решений пока нет …