dousi5358 2012-01-04 12:55
浏览 107
已采纳

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

I have a link field that is composed from a URL and the title, I need to print out only the URL of the link field without the title in my node content type tpl file, is that possible ?

Thanks!

  • 写回答

1条回答 默认 最新

  • douque9982 2012-01-04 13:19
    关注

    It should be as easy as:

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

    I'll break that down a bit:

    Fields are members of the node object and are always prefixed with field_ so a field called my_field can be found with $node->field_my_field.

    Each field members of the node object is itself an array of all different language versions for the field, keyed by the language key. To access the field value for the language that the node is denoted as you would use: $node->field_my_field[$node->language] or perhaps $node->field_my_field[LANGUAGE_NONE] (which is the default).

    Further to that, each language array can potentially have multiple field values in it, if the cardinality of the field is greater than 1. If you have a field (e.g. images) with multiple values allowed you would run through each like this:

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

    Within each item of the language array are the actual field values. Fields may have multiple columns (for example the link module has url, title and attributes). To continue with the previous example you would find the url and title like this:

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

    Hope that helps!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?