Hilfe - Suche - Mitglieder - Kalender
Vollansicht: Code ausführen bevor Sefrengo sonstg was tut
Forum Sefrengo.org > Allgemeine Foren > Anwenderforum
Tiggr
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)
amk
'n include in die index.php oder eben in's layout vor dem ersten container ... oder sowas?!
Tiggr
ZITAT(amk @ Tue. 14. August 2007, 19:44) *
'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!
Dieses ist eine vereinfachte Darstellung unseres Foreninhaltes. Um die detaillierte Vollansicht mit Formatierung und Bildern zu betrachten, bitte hier klicken.
Invision Power Board © 2001-2024 Invision Power Services, Inc.