Overriding von Modul-Templates mit Sub-Themes
![](http://www.drupalcenter.de/files/noavatar_mini.gif)
am 21.10.2016 - 11:12 Uhr in
Hallo zusammen,
ich arbeite gerade an einem Subtheme, das das Drupal Core-Theme Bartik erweitert. In diesem Subtheme möchte ich unter anderem die search-result.tpl.php
aus dem "Search"-Modul, das standardmäßig in Drupal 7 installiert ist, overriden, da ich die Darstellung etwas anpasse.
Zunächst habe ich es im Bartik Theme einfach ausprobiert. Ich habe im Ordner drupal_app\themes\bartik\templates
die Datei search-result.tpl.php
angelegt und konnte damit nun einfach die search-result.tpl.php
aus dem Modul overriden.
Ich möchte aber letzten Endes nicht einfach am Bartik-Theme herum schrauben, sondern möchte ein Sub-Theme erstellen, das das Bartik-Theme erweitert. Ich habe ein Sub-Theme angelegt und die search-result.tpl.php
in den Ordner drupal_app\sites\all\themes\my_bartik_subtheme\templates\
verschoben. Hiermit lässt sich das "Search"-Modul allerdings nicht mehr overriden.
1. Frage: Wie kann ich in einem Sub-Theme ein Template aus einem Modul overriden?
2. Frage: Wenn ich in einem Core-Theme ein Template hinzufüge, wird es bei einem Core-Update wieder gelöscht? (Falls nein, könnte ich das Template einfach erst mal im Core-Theme lassen. Allerdings frage ich mich, was hier best-practice ist)
Freue mich über jede Hilfe!
- Anmelden oder Registrieren um Kommentare zu schreiben
Du musst in Deinem Modul
am 22.10.2016 - 11:20 Uhr
Du musst in Deinem Modul mit
Hook Theme Registry Alter die Theme Registry überschreiben.
Schau hier:
https://www.drupal.org/node/715160
2. Frage: Wenn ich in einem Core-Theme ein Template hinzufüge, wird es bei einem Core-Update wieder gelöscht? (Falls nein, könnte ich das Template einfach erst mal im Core-Theme lassen. Allerdings frage ich mich, was hier best-practice ist
Nein, wenn Du ein neues Template hinzufügst wird es nicht gelöscht.
Es wird ggf. überschreiben wenn eine solche Datei im Core Update vorhanden ist.
Best Practice oben oder ein Subtheme des Core-Theme's erstellen.
Irgendetwas im Core zu machen ist nie gut
MfG
Robert