Theme-Funktionen in einem Modul überschreiben

Bis zur Version Drupal 6 war es möglich eine Theme-Funktion, e.g. theme_element(), durch das Präfix phptempalte_element() zu überschreiben. Nach dem Patch "Die, themeEngineName_ prefix, die!" ist das ab Drupal 7 nicht mehr möglich.

Theme-Funktionen können aber auch in Drupal 7 weiterhin nicht nur in der template.php Datei eines Themes sondern auch durch ein Modul überschrieben werden. Der Prozess ist sogar einfacher als vorher. Die drupal.org Dokumentation "About overriding themable output" weißt uns den Weg.

Um zum Beispiel die Variablen der folgenden Funktion zu überschreiben...

<?php
function theme_form_element_label($variables) {
 
// ...
}
?>

...wird nun dieses Muster verwendet:

<?php
function modulName_preprocess_form_element_label(&$variables) {
 
// Zugriff auf $variables hier.
}
?>

Kommentare

Kommentar verfassen

Der Inhalt dieses Feldes wird nicht öffentlich gezeigt.