Code ausführen bevor Sefrengo sonstg was tut |
Willkommen, Gast ( Anmelden | Registrierung ) [ Hilfe | Mitglieder | Suche ]
Code ausführen bevor Sefrengo sonstg was tut |
Tue. 14. August 2007, 16:41
Beitrag
#1
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 386 Mitglied seit: 12.07.2006 Mitglieds-Nr.: 136 |
Hallo!
Wie kann ich denn (Plugin-)Code ausführen, bevor Sefrengo anfängt die Seite zu verarbeiten, und den ersten Modulcode ausführt? Autostarts wirken wohl erst wenn die Seite schon fertig ist. Ich würde aber gern ein Objekt allen Modulen zur Verfügung stellen... Tschüss Tiggr (aka Marcus) -------------------- @bout Kites: Colorful Sky - Typo3
@bout LARP: Orga ohne Namen - Sefrengo @bout LARP: LARP-Welt - CakePHP @bout Kites: Rodgauer Workshop - Contao |
|
|
Tue. 14. August 2007, 18:44
Beitrag
#2
|
|
TRAIL AND ERROR SPECIALIST Gruppe: AdvancedMembers Beiträge: 1.708 Mitglied seit: 27.06.2006 Wohnort: Hansestadt Rostock, Deutschland Mitglieds-Nr.: 9 |
'n include in die index.php oder eben in's layout vor dem ersten container ... oder sowas?!
-------------------- cheers, Alex
|
|
|
Tue. 14. August 2007, 20:35
Beitrag
#3
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 386 Mitglied seit: 12.07.2006 Mitglieds-Nr.: 136 |
'n include in die index.php oder eben in's layout vor dem ersten container ... oder sowas?! Beides möchte ich vermeiden! Ich möchte ein kleines Plugin schreiben, das ein globales Objekt zur Verfügung stellt. Dieses hat nur ein paar Methoden: QUELLTEXT addStyle(...), addScript(...), addPlain(...) um Einträge in den HTML-Header zu machen, Beim ausgeben der Seite wird das ganze dann in den Header eingefügt. Das ganze klappt auch schon prima, bis auf einen Punkt: Ich bekomme globale Objekt im Plugin nicht erzeugt. Der Autostart wird zu spät ausgeführt, da ist der Code der Seite schon evaluiert. Ich hab versucht das in die extended_header_meta.php des Plugins einzufügen: QUELLTEXT function extended_header_meta($call_files = false) { include_once('inc/class.extended_header.php'); $GLOBALS['cms_header'] = new extended_header; $this->dir_name = dirname(__FILE__); plugin_meta::plugin_init($call_files); } Aber irgendwie klappt das nicht! :-( Da gibt es dann kein globales Objekt $cms_header, wenn ich versuche es im Layout anzusprechen! Wenn ich im Layout mache: QUELLTEXT <CMSPHP> include_once('backend/plugins/extended_header/inc/class.extended_header.php'); $cms_header = new extended_header; $cms_header->addStyle('path/to/my/style'); </CMSPHP> Klappt das Spitze! Was ich noch nicht probiert habe ist, ob Module da ran kommen, müßte aber doch auch gehen, oder? Wie bekomme ich sowas hin, ohne das ins Layout schreiben zu müssen? Gibt es ein Event, das vor der Codegenerierung der Seite gefeuert wird? Gefunden habe ich keines, leider! Mir ist wichtig, das Layout einfach zu halten, und vor allem keine Sefrengo-Dateien zu hacken, das macht Updates so schwer! Tschüss Tiggr (aka Marcus) PS: Ich häng mal das Plugin an!
Angehängte Datei(en)
-------------------- @bout Kites: Colorful Sky - Typo3
@bout LARP: Orga ohne Namen - Sefrengo @bout LARP: LARP-Welt - CakePHP @bout Kites: Rodgauer Workshop - Contao |
|
|
Vereinfachte Darstellung | Aktuelles Datum: 29.3.24 - 06:22 |