Ergebnis 1 bis 8 von 8

Thema: komplettes Template (geparst) zurückgeben

  1. #1
    Contao-Nutzer
    Registriert seit
    13.01.2010.
    Beiträge
    7

    Standard komplettes Template (geparst) zurückgeben

    Hallo,

    gibt es eine Möglichkeit ein beliebiges Seitentemplate zurückgeben zu lassen?

    ich hab es schon mit untenstehendem Code versucht, jedoch wird das Template nichgt komplett geparst, also title, meta, css fehlt, etc ...

    Danke im Voraus, Martin

    PHP-Code:
    $tmpl = new FrontendTemplate ('fe_page');
    $tmpl->output (); 

  2. #2
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    Hmm also was du versuchst betrifft ein einzelnes Template. Du willst aber die ganze Seite modifizieren?

    Ich glaube du suchst eher sowas: https://contao.org/typolight-hooks.html#generatePage

    Oder irgend einen anderen Hook
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  3. #3
    Contao-Nutzer
    Registriert seit
    13.01.2010.
    Beiträge
    7

    Standard

    Hi,

    ich benutze noch TYPOlight 2.7.6

    dieser Hook ist erst ab TYPOlight 2.8.RC1 verfügbar ...

    , Martin

  4. #4
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    Wie gesagt, ich weiss nicht was du machen willst...

    Aber ich vermute so langsam du suchst eher sowas:
    PHP-Code:
    // config.php
    $GLOBALS['TL_HOOKS']['outputFrontendTemplate'][] = array('MyClass''outputFrontendTemplate');

    // MyClass.php
    public function outputFrontendTemplate($strContent$strTemplate)
    {
       if (
    $strTemplate == 'fe_page')
       {
       
    // Ausgabe modifizieren
       
    }

       return 
    $strContent;

    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  5. #5
    Contao-Nutzer
    Registriert seit
    13.01.2010.
    Beiträge
    7

    Standard

    Ich möchte das gerenderte Template in einer Variable speichern und in eine neue Datei schreiben.

    Das komplette gerenderte Template einer Seite, die ich über die Navigation meiner Homepage zB aufrufen kann.

    also von
    <doctype>
    <html>
    ... über Header, Navigation, Inhalt bis
    </html>

  6. #6
    Contao-Nutzer
    Registriert seit
    13.01.2010.
    Beiträge
    7

    Standard

    so ...

    entschuldige. Ich glaub du hast genau das genannt, was ich brauche . Ich melde mich zurück, wenn ich näheres weiß.

    , Martin

  7. #7
    Contao-Nutzer
    Registriert seit
    13.01.2010.
    Beiträge
    7

    Standard

    Ich melde mich zurück mit folgenden kleinen Errungenschaften.

    Ich habe mir einen eigenen HOOK erstellt, der mir das Template zusätzlich mit den geparsten InsertTags zurück gibt. Geht das auch einfacher?

    Ein weiteres Problem ist aber auf mich zugestoßen. Ich habe diesen HOOK in meiner config.php registriert. Warum wird der HOOK beim Aufrufen jeder Seite der Website, auch wo das Modul gar nicht eingebunden ist, aufgerufen? Also diese Logik verstehe ich nicht ganz. Den HOOK hab ich doch in der Config für mein Modul angelegt, oder nicht ?

    PHP-Code:
    $GLOBALS['TL_HOOKS']['outputFrontendTemplateAfterInserts'][] = array ('ParseTemplate''outputFrontendTemplateAfterInserts'); 
    wenn ich nun das ausführe

    PHP-Code:
    class ParseTemplate extends Frontend
    {
        public function 
    outputFrontendTemplateAfterInserts ($strContent$strTemplate)
        {        
            echo 
    "hallo";
            return 
    $strContent;
        }

    dann kommt auf jeder Seite "hallo" ... versteh ich nicht so richtig? Kann ich den HOOK nicht noch konkret nur für dieses Modul registrieren?

  8. #8
    Contao-Nutzer
    Registriert seit
    22.06.2009.
    Ort
    St.Pauli
    Beiträge
    217

    Standard

    Hi SenseDrive,
    wie du im conig-Eintrag sehen kannst, ist TL_HOOKS Teil von $GLOBALS und somit -wie der Name auch schon sagt - global verfügbar. Und natürlich führen auch alle Instanzen der Klasse Template die Klasse/ Funktion des Hooks aus (Gotteseidank). Um Modifizierungen gezielt durchzuführen, brauchst du ja nur in deiner Funktion auf den Namen des Templates zu prüfen (so wie Toflar es dir auch gezeigt hatte).

    Edit: wenn du zusätzlich auf die aktuelle Seite prüfen willst, kannst du natürlich auch das in der Funktion tun. Z.B. so wie hier.

    cheers
    Antipitch
    Geändert von Antipitch (26.01.2010 um 19:45 Uhr)
    "Some people, when confronted with a problem, think 'I know, I’ll use regular expressions.' Now they have two problems." Jamie Zawinski

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 31.01.2011, 15:29
  2. Antworten: 2
    Letzter Beitrag: 12.05.2010, 15:03
  3. Komplettes Layout zerhauen
    Von mike_mcfly im Forum Layout / Templates / Holy Grail
    Antworten: 2
    Letzter Beitrag: 12.12.2009, 11:48

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •