Drupal 6 - 节点附加的图像路径


Drupal 6 - node attached image path

Drupal 6

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

如何仅获取图像路径?

编辑:没有相关的CCK字段。它是图像附加模块。请参阅 https://i.stack.imgur.com/1jYji.jpg

如果我从您的评论中理解正确,您可以通过 Drupal 6 的图像模块的图像附加子模块将图像附加到节点。

此子模块的工作方式是,当您将映像附加到节点时,它首先为该映像创建一个新节点,然后将该新节点附加到原始节点。其方式类似于"现代"实体引用在 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']

将链接到其缩略图版本(如果存在)。

您可能知道,映像附加子模块允许您向节点添加多个映像。在我的示例中,我通过使用[0]盲目地拍摄了存在的第一个图像。如果你有多个图像,当然,你应该遍历image_attach数组上存在的各种条目。

如果您希望检索有关附加到原始节点的每个映像节点的更多信息,您还可以加载实际节点本身并使用它:

$nid = $node->image_attach[0]->nid;
$image_node = node_load($nid);

在这里,您可以完全加载引用的节点并使其所有信息可用。

但是,后一种情况会导致不必要的开销,因为在完全加载节点时不存在额外的信息。原始 node 对象内的"图像附加"子模块已提供了完整的参考。只要知道图像附加实际上在水下创建额外的图像节点,您可以这样对待。