Drupal 6 - 节点附加图像路径

时间:2015-01-08 11:58:23

标签: php image path drupal-6

Drupal 6

我在<?php print $node->content['image_attach']['#value'] ?>模板文件中使用node.tpl.php来检索图像并将图像链接到其节点。

如何才能获取图像路径?

编辑:没有相关的CCK字段。它是图像附加模块。请参阅http://imgur.com/YzyUGZU

1 个答案:

答案 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实际上在水下创建了额外的图像节点,你可以这样处理。