【问题标题】:Render link-field url and title separately in node template in Drupal 7在 Drupal 7 的节点模板中分别渲染链接字段 url 和标题
【发布时间】:2013-04-15 12:47:10
【问题描述】:

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

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

在 Drupal 7 中是否有一种简单的方法可以做到这一点。谢谢!

【问题讨论】:

标签: drupal templating theming


【解决方案1】:
$field = field_get_items('node', $node, 'field_link');
print render($field[0]['url']);
?>" target='_blank'>View Link</a>

【讨论】:

    【解决方案2】:
    $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);
    

    【讨论】:

      【解决方案3】:

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

      $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;
      

      【讨论】:

      • 感谢您的回复。这就是我所做的: 1. 在内容类型中创建一个字段“field_link” 2. 在节点模板中,我打印出 $field 数组 code ”;打印_r($字段);打印“”; ?> 'code' 但随后节点的完整数组被打印出来......就像:code Array ( [#theme] => field [#weight] => 0 [#title] => link [#access ] => 1 [#label_display] => 上面 [#view_mode] => _custom_display [#language] => und [#field_name] => field_link
      • 在我的回答中添加了一个完整的例子。
      • 再次感谢 Mike,我刚刚尝试了您的 sn-p,但最终对我有用的是以下 print render($field[0]['url']); print render($field[0]['title']);
      • 您提供的示例再次打印出带有标签的渲染链接。所以我不使用“field_view_field”。我在这里错过了什么吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多