Willkommen, Gast ( Anmelden | Registrierung )     [ Hilfe | Mitglieder | Suche ]

 
Reply to this topicStart new topic
> Code ausführen bevor Sefrengo sonstg was tut
Tiggr
Beitrag 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
Go to the top of the page
 
+Quote Post
amk
Beitrag 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
Go to the top of the page
 
+Quote Post
Tiggr
Beitrag Tue. 14. August 2007, 20:35
Beitrag #3


Advanced Member
*******

Gruppe: AdvancedMembers
Beiträge: 386
Mitglied seit: 12.07.2006
Mitglieds-Nr.: 136



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!
Angehängte Datei(en)
Angehängte Datei  extended_header.zip ( 3.41KB ) Anzahl der Downloads: 4
 


--------------------
@bout Kites: Colorful Sky - Typo3
@bout LARP: Orga ohne Namen - Sefrengo
@bout LARP: LARP-Welt - CakePHP
@bout Kites: Rodgauer Workshop - Contao
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 Besucher lesen dieses Thema (Gäste: 1 | Anonyme Besucher: 0)
0 Mitglieder:

 



RSS Vereinfachte Darstellung Aktuelles Datum: 29.3.24 - 06:22

Sefrengo ist ein eingetragenes Markenzeichen und urheberrechtlich geschützt.
Copyright 2009 Design & Daten, Alle Rechte vorbehalten.