web-dev-qa-db-ja.com

特定のノード段落IDのテンプレートファイルを定義するにはどうすればよいですか?

テンプレートを1段落だけ上書きできるようにしたいと思います。ノードnode- {nodeid} .html.twigでできるように、1つの段落だけをオーバーライドすることは可能ですか?

2
albertski

これは、カスタムモジュールまたはテーマ内から hook_theme_suggestions_HOOK_alter を実装することで簡単に実現できます。その後、paragraph--123.html.twigのようなテンプレートをテーマのテンプレートディレクトリに追加して、段落を上書きできます。

/**
 * Implements hook_theme_suggestions_HOOK_alter().
 */
function MYMODULE/MYTHEME_theme_suggestions_paragraph_alter(array &$suggestions, array $variables) {
  $paragraph_id = $variables['elements']['#paragraph']->id();
  $suggestions[] = 'paragraph__' . $paragraph_id;
}
4
leymannx