Wie Page-Template für View über Module definieren?
Eingetragen von rhodes (631)
am 27.01.2020 - 10:32 Uhr in
am 27.01.2020 - 10:32 Uhr in
Hallo zusammen,
in einer Drupal 8 Installation möchte ich für eine View ein eigenes Page-Template verwenden. Die Theme Suggestion erfolgt über ein custom Module. Dsa Template liegt im Module-Ordner.
Struktur:
mymodule
-- mymodule.module
-- templates
---- page--myview.html.twig
Die Funktion im Module sieht so aus.
function mymodule_theme_suggestions_page_alter(array &$suggestions, array $variables) {
$view_id = \Drupal::routeMatch()->getParameter('view_id');
if ($view_id === 'myview') {
$suggestions[] = 'page__myview';
}
}
Im Debug Modus sehe ich bei Aufruf der View im Quellcode, dass die Suggestion für den page Hook page--myview.html.twig erkannt wird. Es wird aber trotzdem das Default-Template page.html.twig verwendet.
Hat jemand einen Tipp für mich?
Danke & Grüße,
rhodes
- Anmelden oder Registrieren um Kommentare zu schreiben
Glaube dein Ansatz ist leider
am 27.01.2020 - 11:12 Uhr
Glaube dein Ansatz ist leider falsch. hook_theme_suggestions_page_alter() gehört in ein Template.
Für ein eignes Modul musst du einen anderen Weg gehen:https://www.drupal.org/docs/8/theming/twig/create-custom-twig-templates-for-custom-module
Grüße Marcel