Feldvorlage für den Anzeigemodus

8

Ich habe eine Vorlage für mein Fachgebiet : field--field-category.html.twig. Gibt es eine Möglichkeit, dies für einen bestimmten Anzeigemodus zu überschreiben? A haben einen Modus namens teaser block. Ich habe es field--teaser-block--field-category.html.twiggenauso gut versucht wie ein paar andere Formate.

Ich weiß, dass ich ändern kann, wie das Feld ausgegeben wird, node--teaser-block.html.twigaber ich möchte es auf der Ebene der Feldvorlagen tun.

Jack
quelle
Das Beste ist, das Debuggen von Twig-Vorlagen zu aktivieren und Kint zu entwickeln und daraus Ihren Hook zu formulieren. Ich habe kürzlich einen Beitrag dazu geschrieben.
Danny Englander

Antworten:

15

Für die Feldvorlage gibt es standardmäßig keinen Vorschlag für den jeweiligen Anzeigemodus.

Sie können diesen Vorschlag in einen Haken einfügen:

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

Fügen Sie dies in MYTHEME.theme im Themenverzeichnis ein.

4k4
quelle
1
Gutes Zeug. Aber ich denke, um an der Namenskonvention von D8 festzuhalten, sollten Sie es wirklich schaffen$suggestions[] = 'field__node__' . $variables['element']['#field_name'] . '__' . $variables['element']['#bundle'] . '__' . $variables['element']['#view_mode'];
Matt Fletcher