【问题标题】:Extract URL from link field in Drupal?从 Drupal 的链接字段中提取 URL?
【发布时间】:2012-01-04 12:55:55
【问题描述】:

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

谢谢!

【问题讨论】:

    标签: php drupal hyperlink drupal-7 linkfieldvalue


    【解决方案1】:

    应该很简单:

    $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,则每个语言数组中可能有多个字段值。如果您有一个允许多个值的字段(例如图像),您可以像这样遍历每个字段:

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

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

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

    希望有帮助!

    【讨论】:

    • 你是怎么知道的?有没有简单的方法可以找到它?
    • @perpetual_dream:我已经用更多解释更新了答案
    猜你喜欢
    • 1970-01-01
    • 2020-12-02
    • 2021-01-26
    • 1970-01-01
    • 2023-03-28
    • 2022-09-30
    • 1970-01-01
    • 1970-01-01
    • 2011-07-04
    相关资源
    最近更新 更多