在Drupal 7中的节点模板中分别渲染链接字段url和title

时间:2013-04-15 12:47:11

标签: drupal templating theming

如果我在节点模板中打印我的链接字段,如:[?php print render($ content ['field_link']); ?]我将按照在内容类型的显示设置中设置的方式呈现此字段。

但是,如果我想要将该字段的url和标题单独打印出来怎么办?我可以打印出数组中的特定值,但这不符合http://www.computerminds.co.uk/articles/rendering-drupal-7-fields-right-way

的方式

在Drupal 7中有一种简单的方法吗。谢谢!

3 个答案:

答案 0 :(得分:2)

$field = field_get_items('node', $node, 'field_link');
print render($field[0]['url']);
?>" target='_blank'>View Link</a>

答案 1 :(得分:1)

$field_title = field_view_field('node', $node, 'field_link', array(
    'label'=>'hidden',
    'type'=>'link_title_plain',
));

$field_url = field_view_field('node', $node, 'field_link', array(
    'label'=>'hidden',
    'type'=>'link_plain',
));

print render($field_url);
print render($field_title);

答案 2 :(得分:0)

正如您的链接指出的那样,您应该使用:

$field = field_view_field('node', $node, 'field_name');

这将返回可渲染的可渲染数组,并可以抓取各个部分。

完整示例:

$node = node_load($nid);
$field = field_get_items('node', $node, 'field_name');
$output = render(field_view_field('node', $node, 'field_name', $field[0]));
echo $output;