4

本文コンテンツを次のように表示しようとしました:

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

ただし、すべての本文コンテンツが表示されるわけではなく、本文コンテンツの最初の段落が表示されるだけで、短い場合は 2 段落表示されることもあります:/

私はすべての体を印刷する必要があります。どうやってやるの?

どうもありがとう!感謝します!

4

3 に答える 3

2

短縮されたボディ コンテンツは、「フル」ビューではなく「ティーザー」ビュー用に塗りつぶし/レンダリングされていることを示唆しています。どのようなコンテキストでこの print ステートメントを発行しますか?


編集: ノード テンプレートは通常、ティーザーと完全な出力の両方に使用されますが、何を使用するかの決定と、ノード オブジェクト内のコンテンツ エントリの作成は、ノード テンプレート ファイルの外部で行われます。ノード テンプレート ファイル内で、ノード$teaserがティーザーとして表示される場合、変数は TRUE になります。

そのため、ノード テンプレートが呼び出されるコンテキストを確認する必要があります。ノードを「フル」としてレンダリングするには、そのコンテキストを構成する必要があります。これは、テーマにしたいノードを提供する責任者に応じて、多くの場所で発生する可能性があります。たとえば、ノード テンプレートがビューから呼び出された場合、「フル ページ」出力を使用するようにビューを構成する必要があります。モジュールからのものです。モジュールの設定などを確認する必要があります...

于 2010-06-07T08:57:58.310 に答える
0

node.tpl.phpで試してみてください

<?php print $content ?>

でも、

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

私にも効きます。

于 2010-06-07T08:34:50.523 に答える
0

ティーザーの長さを制御するには、ポスト設定でマスター値を設定します。(トリミングポストの長さ)

これをノード タイプで制御するには、http: //drupal.org/project/teaserbytypeを試してください。

注: ティーザーはキャッシュされるため、 http ://drupal.org/project/retease を実行する必要があります

ただし、ノード テンプレートでそれを実行したい場合は、node_load() を実行してすべてを取得できますが、それはベスト プラクティスではありません。

参考までに、[表示オプション] の下の $content に表示される CCK フィールドを制御できます。

PS: ティーザー モードでは、よく truncate_utf8() を使用します。

于 2010-06-20T21:48:27.650 に答える