Wie funktioniert ein Theme override für ein Modul?
am 24.04.2014 - 00:41 Uhr in
Hallo zusammen,
ich bastle zur Zeit daran herum, die Standard Eigenschaft des Moduls "premium content" abzuwandeln. Premium Inhalte werden standardmäßig für nicht berechtige User nicht angezeigt, sondern es erscheint eine Meldung "Zugriff nur mit entsprechender Berechtigung" (o.ä.). Nun hätte ich es gerne aber so, dass der Body-Text des jeweiligen Blog-Eintrags angezeigt wird, gefolgt von der Meldung, dass die Bilder nur für registrierte User zugänglich sind.
In der Modul Beschreibung heißt es: "If a user does not have adequate privileges, the default behavior is to show a simple message, but you can use Panels or theme overrides to do more custom things." Ich würde es hier gerne mit einem Theme Override versuchen, daher auch die Auswahl dieses Forums... Hat jemand eine Idee, wie ich dazu am besten vorgehen könnte? Ich habe mir den Modul-Quellcode schon weitestgehend angesehen, mir fehlt aber noch etwas der Überblick, wie der Drupal Core das Modul aufruft und den Inhalt dann via Template ausgibt. Welches wäre wohl das entsprechende Template, node.tpl? Den Text des Blogeintrags könnte man doch über $node->content['body'] aufrufen, oder?
Danke für Eure Ideen oder Hinweise!
Schöne Grüße
Dennis
- Anmelden oder Registrieren um Kommentare zu schreiben
Die einzige Theme-Funktion,
am 24.04.2014 - 09:29 Uhr
Die einzige Theme-Funktion, die ich gefunden habe (habe mir das Modul mal angeschaut), ist
theme_premium_body($arguments)
am Ende des Moduls.Diese kannst Du überschreiben, indem Du in Deinem Theme in die template.php eine Funktion schreibst, die
THEMENAME_premium_body($arguments)
- da kannst Du dann alles machen. $arguments ist ein Array, unter $arguments['node'] solltest Du den Node dann bekommen.