11

以下のコードを使用して、ノードのフィールドを特定の領域に出力しています。これはうまく機能します。しかし、ラベルなしでフィールドの値を印刷したい場合があります。かなり簡単なはずですが、少し困っています。私はdrupalにかなり慣れていないので、助けていただければ幸いです。ありがとう

<?php 
  print drupal_render(field_view_field('node', $node, 'field_description')); ?>
4

1 に答える 1

29

field_view_value()$displayラベルを非表示にするために使用できる引数を取ります。

$display = array('label' => 'hidden');
$view = field_view_field('node', $node, 'field_description', $display);
print drupal_render($view);

フィールドの生の値を抽出したいだけの場合は、field_get_items()代わりに次を使用できます。

$items = field_get_items('node', $node, 'field_description');
$first_item = array_shift($items);
$description = $first_item['value'];

列名 ( $first_item['whatever']) は、使用しているフィールドのタイプによって異なります。テキスト フィールドの場合は になりますvaluecheck_plain()Drupal の慣習は生の入力データを保存し、出力時にサニタイズすることであるため、出力する前にで入力をサニタイズすることを忘れないでください。

于 2012-07-27T21:09:25.893 に答える