Contao-Camp 2024
Ergebnis 1 bis 8 von 8

Thema: Contao-Template: fe_page Template mit zusätzlichem container-wrapper

  1. #1
    Administrator Avatar von Nina
    Registriert seit
    04.06.2009.
    Ort
    Hamburg
    Beiträge
    4.755
    Contao-Projekt unterstützen

    Support Contao

    Standard Contao-Template: fe_page Template mit zusätzlichem container-wrapper

    Seit Contao 3.3 bietet das Template-System von Contao die Möglichkeit, dass man nur einzelne Blöcke von Templates ersetzt ("extended Template/Master-Template"). Der Vorteil davon liegt auf der Hand: Wenn man z.B. eine Änderung im großen fe_page-Template machen möchte, bedeutete das bisher, dass man bei jedem Update nach Änderungen schauen und diese einarbeiten musste. Beim neuen Template-System werden aber nur Abschnitte verändert, während man Contao anweist, dass es sonst auf das jeweilige Original-Template zugreifen soll.

    Da ich immer wieder danach gefragt werde, stelle ich hier ein ganz einfaches Beispiel vor. Das Ziel ist es, dass rund um das <div id="container"> aus dem Original-Template noch ein weiteres <div id="container-wrapper"> herumkommt. Das geht so:

    1. Im Contao-Backend unter "Templates" das fe_page-Template ablegen und es dann in fe_page_beispiel umbenennen.
    2. Den Inhalt des Templates leeren und stattdessen mit dem unten angegebenen Code befüllen.
    3. In den Seitenlayouts einstellen, dass als Haupt-Template nicht mehr auf fe_page sondern auf fe_page_beispiel zugegriffen werden soll.
    4. Sich darüber freuen, dass nun das neue DIV im Frontend an der gewünschten Stelle ausgegeben wird

    Code:
    <?php $this->extend('fe_page'); ?>
    
    <?php $this->block('container'); ?>
      <div id="container-wrapper">
      <?php $this->parent(); ?>
      </div>
    <?php $this->endblock(); ?>
    Mehr dazu hier:
    Template-Vererbung - https://contao.org/de/news/contao_3-3-RC1.html
    Keynote - https://contao.org/files/slides/2014/konferenz/#24
    Verschachtelungen - http://rocksolidthemes.com/de/contao...-3-3-templates

  2. #2
    Contao-Nutzer Avatar von RockSolid Themes
    Registriert seit
    29.05.2012.
    Beiträge
    205
    Partner-ID
    8945

    Standard

    Man kann den Namen des Templates auch direkt bei „fe_page“ belassen, dann spart man sich Punkt drei

    Siehe Ticket #6939

  3. #3
    Administrator Avatar von Nina
    Registriert seit
    04.06.2009.
    Ort
    Hamburg
    Beiträge
    4.755
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Klar, das war nur ein Beispiel.
    Ich benenne den Namen aber gerne um, damit immer ersichtlich ist, dass etwas modifiziert wurde bzw. damit man sich bei Bedarf leicht das Original-Template nochmal reinladen kann ohne die modifizierte Fassung zu überspeichern

  4. #4
    Contao-Urgestein
    Registriert seit
    10.07.2010.
    Beiträge
    4.403
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Nina Beitrag anzeigen
    Klar, das war nur ein Beispiel.
    Ich benenne den Namen aber gerne um, damit immer ersichtlich ist, dass etwas modifiziert wurde bzw. damit man sich bei Bedarf leicht das Original-Template nochmal reinladen kann ohne die modifizierte Fassung zu überspeichern
    Kannst Du machen.
    Ist aber nicht notwendig denn, Contao sucht im Templates Orner nach Vorlagen. Gibt es dort keine wird die Systemeigene Vorlage verwendet. Was man aber tun kann ist, im Templates Ordner eine Struktur erstellen welche dann auch aufzeigt zu welchem Theme die Vorlage gehört. Mit anderen Worten, alle Templates die mit dem Theme kommen sind geändert!

    Damit man weiß was geändert wurde, macht es Sinn im Dokument selber die Änderung zu Dokumentieren. So weiß man in 20 Jahren noch was geändert wurde und eine allfällige übergebe/weitergaben macht das Dokumentieren der Vorlagen Überflüssig da es schon dokumentiert ist.

    Überschreiben kannst Du die Templates beim erstellen im Template-Manager eh nicht (getestet in Contao 3.2.19). Kommt die Meldung, "Template" besteht bereits .

    Absolut genial wäre jetzt noch, wenn es beim erstellen im Template-Manager einen Zeitstempel mit Datum, Zeit und der Contao-Version automatisch rein Dokumentieren würde. Dann weiß man auch Gerade immer wie alt das Template ist dass man vor sich hat.


    Jetzt habe ich ein Knoten in meiner Denkweise... ein Loop sozusagen ... siehe weiter unten.
    Geändert von ciaobello (20.03.2015 um 13:53 Uhr)


  5. #5
    Contao-Fan
    Registriert seit
    29.07.2010.
    Beiträge
    516

    Standard

    Zitat Zitat von RockSolid Themes Beitrag anzeigen
    Man kann den Namen des Templates auch direkt bei „fe_page“ belassen, dann spart man sich Punkt drei

    Siehe Ticket #6939
    Für den Fall *kann* man nicht, sondern MUSS man das eigene Template bei fe_page belassen, sonst funktioniert es nämlich nicht, sondern muss so vorgehen wie von Nina beschrieben.

  6. #6
    Contao-Urgestein
    Registriert seit
    10.07.2010.
    Beiträge
    4.403
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von NetMediaWork Beitrag anzeigen
    Für den Fall *kann* man nicht, sondern MUSS man das eigene Template bei fe_page belassen, sonst funktioniert es nämlich nicht, sondern muss so vorgehen wie von Nina beschrieben.
    Was jetzt?

    sondern muss so vorgehen wie von Nina beschrieben.
    Wenn mas bei fe_page belassen soll, was ich ja auch meinte, dann macht man es eben nicht so wie von Nina beschrieben, die Vorlage umzubenennen!
    Man beläst es bei fe_page und schreibt da nur die Anpassung rein.

    Contao lädt die fe_page aus dem System und überschreibt den beschriebenen Bereich (von Nina oben Beschrieben) aus dem in /templates abgelegten fe_page! Wäre es nicht so, würde im code nicht stehen: "extend('fe_page')" erweitere (fe_page) [auf gut Deutsch]. Oder habe ich das jetzt komplett falsch verstanden?

    Und genau da wäre der von mir oben erwähnte Zeitstempel mit Conao Version angebracht (als Kommentar), damit man die Änderung auch in ein paar Jahren noch nachvollziehen kann, und ersichtlich ist welches die "Mutter Vorlage" ist.

    Einfach nur mal so, damit ich kein durcheinander habe und in Zukunft nicht Bockmist erzähle hier im Forum


  7. #7
    Contao-Fan
    Registriert seit
    29.07.2010.
    Beiträge
    516

    Standard

    Hallo ciaobello,

    wenn das Template z.b. fe_page_beispiel benannt wird, MUSS es in den Layout-Einstellungen auch aufgerufen werden, da die Änderungen sonst nicht für fe_page erkannt werden.

    Wenn es auch im Templateordner fe_page bleibt, muss man das logischerweise nicht, das es ja schon in den Layout-Einstellungen ausgewählt ist.
    Geändert von NetMediaWork (20.03.2015 um 14:32 Uhr)

  8. #8
    Contao-Nutzer Avatar von maipe
    Registriert seit
    10.07.2012.
    Ort
    München
    Beiträge
    201

    Standard Bereiche aus der fe_page nach Live Update 3.1 auf 3.5 werden nicht angezeigt

    2 eigene Divs in der fe_page werden nicht mehr im Frontend ausgegeben. Es handelt sich jeweils um 2 Divs, einmal für social links, eingefügt nach Beginn des main Containers und vor dem inside Containter, und einmal für Partner Links nach dem Beginn des footer container und vor dem inside container, hier per modul insert, das modul verweist auf ein content insert und eine responsive Galerie / Linkliste.

    Unter 3.1 Problemlose Ausgabe. Ich habe schon einige Einträge und Tips zum Update auf 3.3 und dem neuen Templatesystem angewandt, trotzdem keine Ausgabe der DIV´s im Frontend.

    Was kann ich übersehen haben? Ist es nicht mehr möglich, einfach container in das template einzufügen?

    EDIT: Es war ein anderer Fehler - > der Template Ordner im Theme war nicht ausgewählt. Deswegen konnte ich ändern was ich wollte...es wurde immer nur die Standard fe_page angewandt, klar. URKS.
    Geändert von maipe (14.06.2016 um 10:25 Uhr)

Aktive Benutzer

Aktive Benutzer

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

Lesezeichen

Lesezeichen

Berechtigungen

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