Drupal 6
我在<?php print $node->content['image_attach']['#value'] ?>
模板文件中使用node.tpl.php
来检索图像并将图像链接到其节点。
如何才能获取图像路径?
编辑:没有相关的CCK字段。它是图像附加模块。请参阅http://imgur.com/YzyUGZU
答案 0 :(得分:0)
如果我从您的评论中正确理解,您可以通过Drupal 6的Image模块的Image Attach子模块将图像附加到节点。
此子模块的工作方式是将图像附加到节点时,它首先为该图像创建一个新节点,然后将该新节点附加到原始节点。类似于“现代”实体引用在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);
在这里,您可以完全加载引用的节点并提供所有信息。
然而,后一种情况会导致不必要的开销,因为在完全加载节点时不存在额外的信息。完整引用已由原始node
对象内的Image Attach子模块提供。只知道Image Attach实际上在水下创建了额外的图像节点,你可以这样处理。