Klingt jetzt vielleicht blöd aber kann mir einer mal mit anderen Worten als in der Doku erklären was genau da der Unterschied ist?
Also außer der Ausführung.
Ist es egal welchen man nimmt denn zurück kommt doch identisches.
Klingt jetzt vielleicht blöd aber kann mir einer mal mit anderen Worten als in der Doku erklären was genau da der Unterschied ist?
Also außer der Ausführung.
Ist es egal welchen man nimmt denn zurück kommt doch identisches.
Liebe Grüße
WebRoxx
outputFrontendTemplate wird ausgeführt, wenn $objTemplate->output() ausgeführt wird, also wenn ein Template direkt an den Browser ausgegeben wird. parseFrontendTemplate wird ausgeführt, wenn ein $objTemplate->parse() ausgeführt wird, also wenn es geparsed und als string dann weiterverarbeitet wird. Bei ->output() wird aber auch zwangsläufig parseFrontendTemplate ausgeführt.
Geändert von Spooky (31.03.2016 um 09:47 Uhr)
Ok, so richtig steige ich da nicht dahinter
Aber trotzdem Danke für dein Versuch
Also ist es wirklich nur so das der Unterschied sich darauf bezieht wenn es ausgeführt wird?
Liebe Grüße
WebRoxx
Vielleicht macht es diese Erklärung deutlicher: outputFrontendTemplate wird nur in PageRegular::generate ausgeführt - oder mit anderen Worten, es wird (im Core) nur für das fe_page Template ausgeführt.
Weil ich auch immer wieder drüber stolpere und nachschaun muss:
$GLOBALS['TL_HOOKS']['outputFrontendTemplate'][] liefert nur den $strBuffer vom "fe_page" bzw. "fe_custom" wenn ein eigenes verwendet wird.
Diesen $strBuffer kann man anpassen.
$GLOBALS['TL_HOOKS']['parseFrontendTemplate'][] liefert den $strBuffer jedes einzelnen Templates, das auf der aktuellen Seite verwendet wird.
D.H.: Auf einer Seite, die Navigation und ein Content-Element Text enthält wird der $strBuffer für mod_navigation, nav_default, mod_article und ce_text ausgegeben.
Auch hier wird wieder "fe_page" bzw. "fe_custom" geparsed ausgegeben.
Außerdem werden auch die im Layout inkludierten Templates wie j_accordion, j_tablesort usw... ausgegeben.
Die Hooks findet man in: src\Resources\contao\classes\FrontendTemplate.php
Geändert von heyho (27.10.2018 um 19:25 Uhr)
War selbst gerade drüber gestolpert. parseFrontendTemplate scheint sich nicht auf die komplette Ausgabe einer Seite zu beziehen. So funktionierte eine Ersetzung in ce_chesstable (eigene Erweiterung), aber nicht in ce_table. Kann daran liegen, das der zu ersetzende String in ce_table ein Inserttag ist und vorher noch durch einen Inserttag-Parser muß und der zum Zeitpunkt von parseFrontendTemplate noch gar nicht gearbeitet hat. Also muß ich es jetzt mit outputFrontendTemplate versuchen und hoffen, das alle anderen Parser schon durch waren.
outputFrontendTemplate scheint direkt vor der Ausgabe an den Browser zu arbeiten und parseFrontendTemplate noch weit vorher.
Viele Grüße
Frank
Seit Mai 2013 Fan von Contao
Webmaster vom Deutschen Schachbund und Berliner Schachverband
Mein Blog: Schachbulle
Meine Erweiterungen bei GitHub
Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung
outputFrontendTemplate kommt zu früh ins Spiel. Zu dem Zeitpunkt sind die Inserttags der gleichnamigen Erweiterung noch nicht ersetzt.
Aus der config.php der (3er) Erweiterung inserttags:
PHP-Code:
$GLOBALS['TL_HOOKS']['outputFrontendTemplate'][] = array('InsertTagsHelper', 'replaceCachedTags');
$GLOBALS['TL_HOOKS']['outputBackendTemplate'][] = array('InsertTagsHelper', 'replaceCachedTags');
$GLOBALS['TL_HOOKS']['replaceInsertTags'][] = array('InsertTagsHelper', 'replaceDynamicTags');
Viele Grüße
Frank
Seit Mai 2013 Fan von Contao
Webmaster vom Deutschen Schachbund und Berliner Schachverband
Mein Blog: Schachbulle
Meine Erweiterungen bei GitHub
Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Lesezeichen