node - [type | nodeid] .tpl.php richtet sich nach dem Standardansichtsmodus des Knotens. Ich möchte jedoch die Vorlage für den Teaser-Ansichtsmodus überschreiben.
Was ist der Vorlagenvorschlag (.tpl.php-Datei) für den Teaser-Ansichtsmodus?
Ich glaube nicht, dass es standardmäßig einen gibt, aber Sie können einfach einen in Ihre template.php-Datei einfügen:
function MYTHEME_preprocess_node(&$vars) {
if($vars['view_mode'] == 'teaser') {
$vars['theme_hook_suggestions'][] = 'node__' . $vars['node']->type . '__teaser';
$vars['theme_hook_suggestions'][] = 'node__' . $vars['node']->nid . '__teaser';
}
}
Damit können Sie eine Vorlagendatei wie folgt verwenden: node--[type|nodeid]--teaser.tpl.php
Es gibt einen einfacheren Weg, dies über das Modul Entitätsansichtsmodi zu erreichen.
https://www.drupal.org/project/entity_view_mode
quelle
Der Vorlagenvorschlag für einen "Teaser" -Anzeigemodus lautet:
Standardmäßig verwendet der Ansichtsmodus "Teaser" die reguläre
node.tpl.php
Vorlage, sodass Sie diese Datei kopieren können, um loszulegen.Sie können alle Vorlagenvorschläge
theme_debug
anzeigen, indem Sie den Modus https://www.drupal.org/node/223440#theme-debug aktivierenWenn Sie Quelltext anzeigen: Auf der Seite sollten HTML-Kommentare angezeigt werden, die die gesamte Liste der von Drupal berücksichtigten Vorlagenvorschläge enthalten.
quelle
Clives Lösung ist richtig. Wenn Sie jedoch möchten, dass die neuen Vorschläge nach Standardvorschlägen ausgewertet werden, müssen Sie sie an den letzten Positionen des Arrays hinzufügen:
Auf diese Weise vermeiden Sie, dass Ihr Teaserknoten mit node - [type] .tpl.php vor node - [type] - teaser.tpl.php übereinstimmt (und falls vorhanden verwendet)
quelle