表示モードのフィールドテンプレート


8

私のフィールドのテンプレートがあります:field--field-category.html.twig。特定の表示モードでこれを上書きする方法はありますか?と呼ばれるモードがありますteaser blockfield--teaser-block--field-category.html.twig他にもいくつかのフォーマットを試しました。

フィールドの出力方法を変更できることはわかっnode--teaser-block.html.twigていますが、フィールドテンプレートレベルで変更したいのですが。


最良のことは、Twigテンプレートのデバッグを有効にし、Kintを開発して、そこからフックを作成することです。最近これに関連した記事を書きました。
ダニーイングランド人2016年

回答:


15

フィールドテンプレートの場合、デフォルトでは特定の表示モードに関する提案はありません。

この提案をフックに追加できます:

function MYTHEME_theme_suggestions_field_alter(&$suggestions, $variables) {
  $suggestions[] = 'field__' . 
    $variables['element']['#field_name'] . '__' . 
    $variables['element']['#view_mode'];
}

これをテーマディレクトリのMYTHEME.themeに配置します。


1
いい物。しかし、私はD8の命名規則に固執すると思います、あなたは本当にそれを作るべきです$suggestions[] = 'field__node__' . $variables['element']['#field_name'] . '__' . $variables['element']['#bundle'] . '__' . $variables['element']['#view_mode'];
Matt Fletcher
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.