web-dev-qa-db-ja.com

ノードテンプレートで人間が読めるコンテンツタイプ名を取得する方法

ノードのノードテンプレートを作成し、正常に動作しました。

「ホワイトペーパー」のようなコンテンツタイプ名を印刷する必要があり、ノードテンプレートにマシン名「w1」が含まれています。変数{{ node.bundle }}を使用すると、マシン名が出力されます。しかし人間が読める名前が必要です

ノード、コンテンツ、ページ変数の多くの要素を試しましたが、人間が読めるコンテンツタイプ名を出力できません。

誰か助けてもらえますか?

14
Dev

ノードTwigテンプレートで次のスニペットを使用すると、コンテンツタイプ(または「ラベル」)の人間が読める名前を取得できるはずです。

{{ node.type.entity.label }} 
23
edwardchiapet

人間が読めるコンテンツタイプの名前をプリプロセスフックに追加できます。

mytheme.theme

/**
 * Implements hook_preprocess_node().
 */
function mytheme_preprocess_node(array &$variables) {
  $node = $variables['node'];
  $variables['content_type'] = node_type_load($node->bundle())->label();
}

ノードテンプレートで使用します。

{{ content_type }}
4
4k4