我有一个由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模块有url
、title
和attributes
)。继续前面的示例,您将找到如下的url和标题:
$url = $node->field_name_of_field[$node->language][0]['url'];
$title = $node->field_name_of_field[$node->language][0]['title'];
希望有帮助!