Extract URL from link field in Drupal?

痞子三分冷 提交于 2019-12-11 07:08:19

问题


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:


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!



来源:https://stackoverflow.com/questions/8727234/extract-url-from-link-field-in-drupal

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!