web-dev-qa-db-ja.com

タイトル表示を他のフィールドの下に移動

ノードを表示しているときに、タイトルをコンテンツタイプの他のフィールドの1つの下に表示したいのですが、[表示の管理]タブで配置することはできません。

Drupalが提供する柔軟性と能力をすべて備えているので、コンテンツタイプごとにカスタムテンプレートを作成する必要がありますか?:(

どんな助けでもありがたいです!

2
Kenny Wyland

Panels でこれを行うことができます。

まず、テーマのpage.tpl.phpからタイトル印刷ステートメントを削除します。

通常は次のようになります。

      <?php if ($title): ?>
            <h1 id="page-title"><?php print $title; ?></h1>
          <?php endif; ?>

これにより、Drupalでタイトルが自動的に印刷されなくなります。

次に、Panelsを開き、ノードオーバーライドテンプレートとユーザーオーバーライドテンプレート、およびタイトルを表示する必要があるその他の場所をアクティブにします(まだ行っていない場合)。

次に、Panelsインターフェース内から表示する場所にタイトルを追加します(コンテンツを追加->ページ要素->ページタイトル)。

4
Patrick Kenny

Titleモジュールは多くのユースケースに最適なソリューションであることに同意します。 Titleモジュールは、ノードを完全に翻訳可能にするために、ノードタイトルをフィールドAPIに変換します。これには、タイトルフィールドを管理表示UIに追加する効果があり、他のフィールドと同様に管理できます。多くの場合、これはテンプレートのオーバーライドを使用したり、Display suitePanelsなどのより重いモジュールをインストールしたりするよりもはるかに優れています。 ノードのタイトルを管理するだけです。 Titleモジュールは、今後のすべてのバンドルでタイトルを変換するように構成でき、既存のタイトルフィールドの横には、フィールド管理のUIで変換リンクがあります。

4
Che Mearns

ページタイトルは、_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のドキュメントページ および コンテンツタイプによるノードのテーマ設定 を確認してください。

3
Aram Boyajyan

この単純なリクエストにモジュールを使用する代わりに、node.tplテンプレートファイルを適合させて、タイトルの前に必要なフィールドを印刷することもできます。

1
xaa
admin/structure/types/manage/article/display

画像に従って再構成してください。表示の管理から、必要に応じてファイルの順序を設定できます(フィールドをドラッグアンドドロップして並べ替えてください)。

enter image description here

ありがとう!

0
jas