ノードの本体を印刷するにはどうすればよいですか?[閉まっている]


11

ページにノード本体を印刷する方法を理解するのに苦労しています。

通常はこのようなものを使用print $node->field_manufacturer[0]['view'];しますが、ノードの本体を印刷する方法がわかりません。

どうすればそれを達成できますか?

回答:


3

次のように記述することで、ノードの構造全体とコンテンツを表示できます。

<pre><?php print_r($node); ?></pre>

そして、適切と思われるものを選択します。

ノード本体を印刷するには、を使用する必要があります$node->content['body']['#value']


私はそれを試しました。すべての情報が表示されます。具体的には、私が作成したカスタムフィールド。しかし、本文(常にそこにあるフィールド)をどのように印刷するか正確にはわかりません。
サムウォーレン

1
私は自分の質問に答えますが、制限が私を止めました:#これは私のために働きました:print $ node-> content ['body'] ['#value'];
サムウォーレン

16

Drupal 7の場合、より良いスタイルはfield_get_itemsを使用することです。例えば:

<?php
  $body = field_get_items('node',$node, 'body');
  print $body[0]['value'];
?>

14

Drupal 7で試してみてください

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

こんにちは、ようこそ。コードのみの回答は、最良の回答ではありません。このスニペットがOPの問題にどのように答えるのかを正確に説明できますか?
Mołot

render通常、.tpl.phpテンプレート内で使用され、render配列のレイアウト情報を使用して要素をフォーマットします。たとえば、themery.com / dgd7 / advanced
Maine

10

$nodeがで取得されたノードオブジェクトである場合node_load()、Drupal 7では、これはの構造です$node->body

スクリーンショット

スクリーンショットで使用したノードの言語セットは英語で、入力形式は完全なHTMLです。私が見る限り、ノードに設定されている言語に関係なく、本文のコンテンツは常に「und」インデックスに含まれています。

Drupal 6では$node->body文字列です。

hook_nodeapi('view')(Drupal 6)またはhook_node_view()(Drupal 7)を実装した場合、本文のコンテンツはそれぞれ$node->content['body']['#value']、およびで検出され$node->content['body'][0]['#markup']ます。

スクリーンショット



0

以下は通常動作します:

<?php print $node->body['value']; ?>

試してみただけです。エラーは表示されませんが、 ">"以外のコンテンツもまったく表示されません。
サムウォーレン

0

少し遅いかもしれませんが、Drupal 6を使用している場合は、以下を試してください。

     <?php print $node->content['body']['#value'] ?>
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.