我有一个link field由一个URL和标题组成,我需要打印出的链接字段的URL没有我的节点内容类型tpl文件中的标题,这可能吗?
谢谢!
答案 0 :(得分:8)
它应该像以下一样简单:
$url = $node->field_name_of_field[$node->language][0]['url'];
我会稍微打破一下:
字段是节点对象的成员,并且始终以field_
为前缀,因此可以使用my_field
找到名为$node->field_my_field
的字段。
节点对象的每个字段成员本身就是该字段的所有不同语言版本的数组,由语言键控制。要访问表示节点的语言的字段值,请使用:$node->field_my_field[$node->language]
或$node->field_my_field[LANGUAGE_NONE]
(默认值)。
此外,如果字段的基数大于1,则每个语言数组都可能包含多个字段值。如果您有一个允许多个值的字段(例如图像),则会像这样运行每个语言数组:
foreach ($node->field_my_field[$node->language] as $delta => $item) {
}
在语言数组的每个项目中都是实际的字段值。字段可能包含多个列(例如,链接模块包含url
,title
和attributes
)。要继续上一个示例,您可以找到如下所示的网址和标题:
$url = $node->field_name_of_field[$node->language][0]['url'];
$title = $node->field_name_of_field[$node->language][0]['title'];
希望有所帮助!