Wie werden Templates ausgeführt?

This page is a translated version of the page How are templates executed? and the translation is 100% complete.

Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎Nederlands • ‎português do Brasil • ‎русский • ‎українська

Templates werden in einem 2-Phasen-Processs ausgeführt, der vollen Gebrauch vom PHP-Parser macht um dem Template-Designer beachtliche Felxibilität und Leistung zu bieten. Templates werden in der Umgebung des Dokumenten-Objekts ausgeführt so dass das $this-Objekt immer die Instantiierung der JDocument-Klasse ist.

Bevor die Ausführung des Templates beginnt, wird die Komponente ausgeführt und seine Ausgabe für später zwischengespeichert.

Dann geht die Ausführung der Vorlage folgendermaßen weiter:

  • template-Parameter (falls vorhanden) werden geladen.
  • die template-Sprache (falls vorhanden) wird geladen.
  • wenn der legacy-Modus an ist, dann werden die Konfigurations-Variablen als globals kopiert.
  • die Vorlage-Datei (index.php) wird geladen und ausgeführt (durch PHP). Der Ausgang ist gepuffert. Dies ist Phase 1 des 2-Phasen-Prozess. Alles zwischen <?php and ?> tags wird als PHP-code ausgeführt. Alles, was außerhalb dieser tags wird ausgegeben, aber ansonsten ignoriert. Da die Ausgabe gepuffert ist, wird in diesem Stadium nichts an den Client-Webbrowser gesendet.
  • eine favicon.ico Datei wird zuerst im Wurzelverzeichnis der Joomla!-Installation, dann im Wurzelverzeichnis des Templates gesucht. Das letztere wird das erste überschreiben.
  • die Ausgabe, die in Phase 1 gepuffert wurde, wird jetzt nach <jdoc:include>-Elementen durchsucht. Für jedes gefundene jdoc-Element wird die geeignete renderer-Klasse geladen und seine render-mathode wird aufgerufen. Die Ausgabe der render-Methode erstetzt die <jdoc:include>-Elemente selbst im Ausgabepuffer. Im Falle der Modul-renderer-Klassen, löst dies die Ausführung der Module und die Pufferung der Ausgabe aus.
  • Bestimmte template-spezifische HTTP-Header werden der Liste der Header die ausgegeben werden hinzugefügt.
  • Die Steuerung wird dann an das JApplication Objekt zurückgegeben, das den Rest des Prozesses, die jetzt gerenderte Seite zurück zu dem Client-Webbrowser zu bekommen, durchführt.
Advertisement