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


9

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

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

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

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

回答:


7

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

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でも略奪品を入手


4

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

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

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

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


3

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

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

コードの上に。

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.