Contao-Camp 2024
Ergebnis 1 bis 11 von 11

Thema: Templates in Contao 5

  1. #1
    Contao-Nutzer
    Registriert seit
    02.12.2017.
    Beiträge
    138

    Standard Templates in Contao 5

    Hallo zusammen,

    vielleicht könnt Ihr mir in diesem Fall ja etwas weiterhelfen...
    Ich probiere aktuell die Version 5 aus und komme mit den neuen Templates noch nicht so ganz zurecht.

    Ich benötige häufiger für gleiche Inhaltselemente (z.B. das Textelement) verschiedene Templates. Bisher bin ich dann so vorgegangen, dass ich mir entsprechend unterschiedliche Templates erstellt habe. Z.B.:
    ce_text_01
    ce_text_02
    ce_text_03

    usw. Diese konnte ich dann natürlich in den Textelementen auswählen.

    In Version 5 habe ich selbiges mit den Twig-Templates für das Textelement versucht, konnte allerdings trotzdem keine unterschiedlichen Templates auswählen.
    Ich habe auch, testweise, versucht, wie hier beschrieben, das Element zu erweitern und die Datei /templates/content_element/text.html.twig erstellt mit dem folgenden Inhalt:

    Code:
    {% extends "@Contao/content_element/text.html.twig" %}
    
    {% block content %}
      <h1>Hello from Twig!</h1>
      {{ parent() }}
    {% endblock %}
    Aber auch hiermit konnte ich das Template nicht modifizieren.
    Wo liegen hier meine Fehler?

  2. #2
    Contao-Fan
    Registriert seit
    20.10.2014.
    Ort
    Freiburg
    Beiträge
    477

    Standard

    Thema interessiert mich auch. Twig ist für mich absolutes Neuöand!

  3. #3
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    6.733
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich habe das noch nicht in Contao 5 getestet. In Contao 4.13 mussten die Templates im Ordner templates liegen (nicht in einem Unterordner von Templates, um ausgewählt werden zu können. Außerdem war das Löschen des Prod.-Caches erforderlich zu mindestens, wenn ich die Template extern bearbeitet habe.
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




  4. #4
    Contao-Urgestein Avatar von Franko
    Registriert seit
    22.06.2009.
    Beiträge
    1.503
    Partner-ID
    6122

    Standard

    Sieht eigentlich alles OK aus.

    Für das Inhaltselement Text erstellt du ein Template:
    »templates/content_element/text.html.twig« (gültig für alle Inhaltselemente vom Typ »Text«).

    Wenn du Varianten (z. B. vom Template Text) benötigst, werden die dann in einem weiteren Verzeichnis »text« abgelegt:
    »templates/content_element/text/myVarianteA.html.twig«.

    Der Name des Unterverzeichnis entspricht dem jeweiligen Dateinamen des Basis Templates also z .B. dann für ein Inhaltselement vom Typ »Bild«:
    »templates/content_element/image/myVarianteA.html.twig«.

    Diese Templates stehen dann im jeweiligen Inhaltselement zur Auswahl.

    Damit deine Angaben wirken mußt du im Backend den »Debug-Modus« aktivieren (oder den Cache leeren).
    Geändert von Franko (27.10.2022 um 07:20 Uhr)
    Freelancer, Digital Design Enthusiast, Contao Aficionado and Tutorial Junkie @MoinFranko - Carpe diem ...

  5. #5
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    6.733
    Contao-Projekt unterstützen

    Support Contao

    Standard

    @Franko
    Ich muss mir das bei Gelegenheit in Contao 5 dann wohl doch mal alles anschauen.
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




  6. #6
    Contao-Nutzer
    Registriert seit
    02.12.2017.
    Beiträge
    138

    Standard

    Zitat Zitat von Franko Beitrag anzeigen
    Wenn du Varianten (z. B. vom Template Text) benötigst, werden die dann in einem weiteren Verzeichnis »text« abgelegt:
    »templates/content_element/text/myVarianteA.html.twig«.

    Zitat Zitat von Franko Beitrag anzeigen
    Damit deine Angaben wirken mußt du im Backend den »Debug-Modus« aktivieren (oder den Cache leeren).
    Daran lag es, vielen Dank!

  7. #7
    Contao-Fan
    Registriert seit
    22.11.2009.
    Ort
    14943 Luckenwalde
    Beiträge
    373

    Standard

    Danke für die Infos

    bei meiner installation V5.0.6 klappt das aber irgendwie nicht.

    ich habe das "list.html.twig" Template kopiert, angepasst und unter neuen Namen "list_a.html.twig" gespeichert und in das Verzeichnis "list" abgelegt. In der Auswahl erscheint es nicht, da steht noch immer nur "Content-Element/list".

    Ich hatte noch die Idee je nach Einstellungen im Content-Element entweder das Original Template oder mein abgeändertes zu laden. Scheitern tue ich aber an der Herausforderung die zusätzlichen Daten (DCA anderer Erweiterungen) aus dem array "data" in twig abzufragen.


    Viele Grüße
    Jens
    Freundliche Grüße
    Jens


  8. #8
    Contao-Urgestein Avatar von folkfreund
    Registriert seit
    09.04.2010.
    Beiträge
    1.928

    Standard

    Hallo,

    wie Franko oben geschrieben hat, muss das Template entweder seinen Namen behalten oder in einem Unterverzeichnis gespeichert werden.
    In deinem Fall also »templates/content_element/list/a.html.twig«

    Zumindest habe ich das so verstanden ;-)

  9. #9
    Contao-Fan
    Registriert seit
    22.11.2009.
    Ort
    14943 Luckenwalde
    Beiträge
    373

    Standard

    Zitat Zitat von folkfreund Beitrag anzeigen
    Hallo,

    wie Franko oben geschrieben hat, muss das Template entweder seinen Namen behalten oder in einem Unterverzeichnis gespeichert werden.
    In deinem Fall also »templates/content_element/list/a.html.twig«

    Zumindest habe ich das so verstanden ;-)
    Hi,

    ich auch und genau so habe ich es auch gemacht. es wird mir aber leider trotzdem nicht angezeigt.
    Angehängte Grafiken Angehängte Grafiken
    Freundliche Grüße
    Jens


  10. #10
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    6.733
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Prod.-Cache gelöscht?
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




  11. #11
    Contao-Fan
    Registriert seit
    22.11.2009.
    Ort
    14943 Luckenwalde
    Beiträge
    373

    Standard

    Zitat Zitat von mlweb Beitrag anzeigen
    Prod.-Cache gelöscht?
    ja

    bin jetzt für "List" einen anderen weg gegangen, der leider aber nicht klappen will für "Gallery".

    Code:
    {% extends "@Contao/content_element/list.html.twig" %}
    
    {% block list %}
    {% if data.meinbundleoption %}
        {% for item in list.items %}
                <p><i class="bx bxs-right-arrow-alt"></i>
                {%- block list_item %}
                    {{- item|insert_tag_raw -}}
                {% endblock -%}
                </p>
            {% endfor %}
    {% else %}
        {{ parent() }}
    {% endif %}
    {% endblock %}
    Geändert von Merlin (29.11.2022 um 15:13 Uhr)
    Freundliche Grüße
    Jens


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
  •