从Drupal中的链接字段中提取URL?

per*_*eam 1 php drupal hyperlink drupal-7 linkfieldvalue

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

谢谢!

Cli*_*ive 8

它应该像以下一样简单:

$url = $node->field_name_of_field[$node->language][0]['url'];
Run Code Online (Sandbox Code Playgroud)

我会稍微打破一下:

字段是节点对象的成员,并且始终带有前缀,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) {

}
Run Code Online (Sandbox Code Playgroud)

在语言数组的每个项目中是实际的字段值.字段可能有多个列(例如,链接模块具有url,titleattributes).要继续上一个示例,您将找到如下所示的网址和标题:

$url = $node->field_name_of_field[$node->language][0]['url'];
$title = $node->field_name_of_field[$node->language][0]['title'];
Run Code Online (Sandbox Code Playgroud)

希望有所帮助!