从Drupal的链接字段中提取URL


Extract URL from link field in Drupal?

我有一个由URL和标题组成的链接字段,我需要在我的节点内容类型tpl文件中只打印链接字段的URL而不包含标题,这是可能的吗?

谢谢!

应该是这么简单:

$url = $node->field_name_of_field[$node->language][0]['url'];

我来分解一下:

字段是节点对象的成员,并且总是以field_为前缀,因此可以在$node->field_my_field中找到名为my_field的字段。

节点对象的每个字段成员本身是该字段的所有不同语言版本的数组,由语言键指定。要访问表示节点的语言的字段值,您可以使用:$node->field_my_field[$node->language]$node->field_my_field[LANGUAGE_NONE](这是默认值)。

更进一步,如果字段的基数大于1,每个语言数组中可能有多个字段值。如果你有一个允许多个值的字段(例如images),你可以像这样遍历每个字段:

foreach ($node->field_my_field[$node->language] as $delta => $item) {
}

语言数组的每一项都是实际的字段值。字段可能有多个列(例如link模块有urltitleattributes)。继续前面的示例,您将找到如下的url和标题:

$url = $node->field_name_of_field[$node->language][0]['url'];
$title = $node->field_name_of_field[$node->language][0]['title'];

希望有帮助!