ノードを表示しているときに、タイトルをコンテンツタイプの他のフィールドの1つの下に表示したいのですが、[表示の管理]タブで配置することはできません。
Drupalが提供する柔軟性と能力をすべて備えているので、コンテンツタイプごとにカスタムテンプレートを作成する必要がありますか?:(
どんな助けでもありがたいです!
Panels でこれを行うことができます。
まず、テーマのpage.tpl.phpからタイトル印刷ステートメントを削除します。
通常は次のようになります。
<?php if ($title): ?> <h1 id="page-title"><?php print $title; ?></h1> <?php endif; ?>
これにより、Drupalでタイトルが自動的に印刷されなくなります。
次に、Panelsを開き、ノードオーバーライドテンプレートとユーザーオーバーライドテンプレート、およびタイトルを表示する必要があるその他の場所をアクティブにします(まだ行っていない場合)。
次に、Panelsインターフェース内から表示する場所にタイトルを追加します(コンテンツを追加->ページ要素->ページタイトル)。
Titleモジュールは多くのユースケースに最適なソリューションであることに同意します。 Titleモジュールは、ノードを完全に翻訳可能にするために、ノードタイトルをフィールドAPIに変換します。これには、タイトルフィールドを管理表示UIに追加する効果があり、他のフィールドと同様に管理できます。多くの場合、これはテンプレートのオーバーライドを使用したり、Display suiteやPanelsなどのより重いモジュールをインストールしたりするよりもはるかに優れています。 ノードのタイトルを管理するだけです。 Titleモジュールは、今後のすべてのバンドルでタイトルを変換するように構成でき、既存のタイトルフィールドの横には、フィールド管理のUIで変換リンクがあります。
ページタイトルは、_Manage Display
_ページで使用可能な要素の1つとして表示されません。
そのためには、_node.tpl.php
_ファイルを編集する必要があります。以下に、必要な作業の概要を示します。
node.tpl.php
_ファイルを_modules/node/node.tpl.php
_からテーマディレクトリにコピーします。node--YOUR-CONTENT-TYPE.tpl.php
_に変更します。この方法でこのファイルに加えた変更は、この特定のコンテンツタイプに対してのみ反映されます。node--YOUR-CONTENT-TYPE.tpl.php
_ファイルを開き、ノードの要素が出力される方法を並べ替えます。_node--YOUR-CONTENT-TYPE.tpl.php
_のガイドラインを次に示します。
<?php print render($content['field_your_field']); ?>
node.tpl.php
_ファイルに<?php print <?php print render($content); ?> ?>
があること、および<?php print render($title_prefix); ?>
と<?php print render($title_suffix); ?>
があることを確認してください。それらは他のモジュール、例えばコンテキストリンクなど.この詳細については、 node.tpl.phpのドキュメントページ および コンテンツタイプによるノードのテーマ設定 を確認してください。
この単純なリクエストにモジュールを使用する代わりに、node.tplテンプレートファイルを適合させて、タイトルの前に必要なフィールドを印刷することもできます。