Ausgabe von Module in .php.tpl Dateien !?
am 20.09.2008 - 08:15 Uhr in
Guten Morgen
Ich sitze gerade vor meinem Modul welches ich mir baue und habe mir so gedacht das ich die Ausgabe an einigen Stellen in .php.tpl Dateien legen möchte.
Der Grund hierfür ist
1.) entfernen der "verwinkelten" HTML-CSS Strukturen aus der .module
2.) den "Site-Creators" die Möglichkeit zu geben mein Modul bestmöglich an Ihre Site anzupassen
Auch wenn ich überzeugt davon bin, macht dies Sinn ?
Habe hier und auf Drupal.org wie wild gesucht und leider nichts finden können.
Ich denke das Prinzip ist klar, habe versucht mit bei advanced_forum was abzugucken aber das ist leider nicht wirklich eindeutig was da passiert.
Wäre über Hilfe und Feedback wie immer sehr dankbar.
Lg Uhu
- Anmelden oder Registrieren um Kommentare zu schreiben
In Drupal6 ist es eigentlich
am 20.09.2008 - 10:36 Uhr
In Drupal6 ist es eigentlich ganz einfach
Du definierst Themes ja mit
<?php
/**
* Implementation of hook_theme().
*/
function module_theme() {
return array(
'my_theme_function' => array(
'arguments' => array('arg1' => NULL, 'arg2' => FALSE),
'template' => 'my_theme_function'
)
);
?>
Das würde zur my_theme_function.tpl.php führen
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.deXING
Hi So habe ich das schon in
am 20.09.2008 - 10:51 Uhr
Hi
So habe ich das schon in anderen Modulen gesehen.
Ich müsste also für jede Ausgabe/Datei solch ein Array dort anlegen?
Ich nehme mal an das Drupal bei der Ausführung einee function in den _theme hook guckt ob dort etwas abweichend hinterlegt ist und in dem Falle alles weitere ausführt!?
Wie aber wird festgelegt welche vars im TPL verfügbar sind ?
Bei "advanced_forum" sieht der _theme hook bspw. so aus:
<?php
function advanced_forum_theme() {
_advanced_forum_load_preprocessors();
$items['forum_user'] = array(
'template' => 'advf-forum-user',
'path' => advanced_forum_path_to_style(),
'arguments' => array('account' => NULL),
);
return $items;
}
?>
Leider kann ich hier nicht ersehen wo die ganzen anderen TPLs definiert werden.
Sind ja bei dem Modul immerhin eine ganze Menge dabei...
Lg Uhu
Dort steht arguments... Wenn
am 20.09.2008 - 11:58 Uhr
Dort steht arguments...
Wenn man Theme Funktionen aufruft:
theme('test', $arg);
wird diese Variable an die entsprechende Themefunktion weitergereicht
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.deXING