web-dev-qa-db-ja.com

ノードフィールドの値を取得するにはどうすればよいですか?

Node.tpl.phpで生の値を取得しようとしていますが、レンダーを使用すると問題が発生します。

<?php print render($content['field_price']);?>

field_image値を返すだけでなく、画像全体をフォーマットして出力します。

フィールドの生の値のみを取得する方法が必要です。どうすればこれを達成できますか?

9
Yalamber

テーマにしたものではなく、真の価値を得るために...

http://api.drupal.org/api/drupal/modules!field!field.module/function/field_get_items/7 を使用できます

 $my_field_items = field_get_items('node', $node, 'field_my_field');

または、Entity APIモジュールとentity_metadata_wrapperを使用します

 $node_wrapper = entity_metadata_wrapper('node', $node);
 $field_val = $node_wrapper->field_test->value();

http://www.computerminds.co.uk/articles/rendering-drupal-7-fields-right-way でも略奪品を入手

7
gagarine

ノードテンプレートでは、生の値の場合、_$node_オブジェクトにアクセスできます。

_<?php print $node->field_price; ?>
_

構造を確認する必要がある場合は、<?php print_r($node); ?>を実行できます。

また、これが特定のコンテンツタイプに対するものである場合は、node.tpl.php自体の代わりにnode.tpl.phpのバリエーションを使用する必要があります。そうしないと、他のコンテンツタイプには存在しないフィールドが表示されます。

4
Laxman13

develモジュールを有効にし、node- {content-type} .tpl.phpで使用

<?php print dsm($node); ?>

コードの上に。

すべての$ nodeフィールドを読み取り可能な形式で見ることができます

3