Ergebnis 1 bis 16 von 16

Thema: Seitenlayouts mit Twig

  1. #1
    Contao-Fan Avatar von intradesign
    Registriert seit
    28.07.2015.
    Beiträge
    346

    Standard Seitenlayouts mit Twig

    Hallo zusammen,

    ich habe mich in den letzten Wochen einmal mit den Release Candidates von Contao 5.6 beschäftigt, um mich in die Twig-Templates ein wenig reinzudenken. Die Syntax habe ich jetzt so weit kapiert, auch die Logik des Template Studios ist mir jetzt so weit klar.

    Allerdings fehlen jetzt bei den 6.5-er Seitenlayouts (wenn als "Twig mit Slots" eingestellt) die ganzen komfortablen Möglichkeiten, "eigene Layoutbereiche", hinzuzufügen, Scripte und Styles auszuwählen bzw. vorgegebene per Checkbox zu aktivieren (jquery, Slider, ...).

    Eigene Layout-Bereiche habe ich als Slots eingefügt und sie werden wie gewohnt ausgegeben.
    Eigenes CSS habe ich eingebunden, allerdings wird das aus dem Ordner der Dateiverwaltung geladen, nicht wie bisher aus dem Assets-Ordner. Soll das so sein? Ähnliches gilt für JavaScript.

    Für die Einbindung z.B. einen Sliders oder eines Akkordions, musste ich ja bisher das entsprechende JavaScript im Seitenlayout aktivieren, für manche Erweiterungen zusätzliche, damit sie funktionieren.

    Deshalb meine Frage: Wie kann ich solche Einstellungen jetzt sinnvoll machen.

    Hier mal mein Template /page/regular.html.twig (der obere Teil aus dem Template-Studio). Was könnte man daran noch verbessern?

    Code:
    {% extends "@Contao/page/regular.html.twig" %}
    {% use "@Contao/component/_stylesheet.html.twig" %}
    
    {% block head %}
        {# Styles einbinden #}
        {% add "basic_css" to stylesheets %}
            {% with {
                file: asset('files/themes/frontend/styles/basic.min.css'),
                media: 'all',
                enable: true,
                lazy: false
            } %}
                {{ block('stylesheet_component') }}
            {% endwith %}
        {% endadd %}
    
        {# Adobe Fonts (Typekit) #}
        {% add "adobe_fonts" to stylesheets %}
            {% with {
                file: 'https://use.typekit.net/cjc4hha.css',
                media: 'all',
                enable: true,
                lazy: false
            } %}
                {{ block('stylesheet_component') }}
            {% endwith %}
        {% endadd %}
    
        {# Font Awesome (wird später lokal ersetzt) #}
        <script src="https://kit.fontawesome.com/08f7e05e3e.js" crossorigin="anonymous"></script>
    
        {# 2) dann den Core-<head> ausgeben #}
        {{ parent() }}
    {% endblock %}
    
    {# Modifikation: @Contao/page/regular.html.twig – block body ersetzen #}
    {% block body %}
        {# Topbar (CTA) #}
        {% slot topbar %}
            <div id="topbar"><div class="topbar-content">{{ slot() }}</div></div>
        {% endslot %}
    
        {# Header als Container für Logo und Hauptmenü #}
        {% slot header %}
            <header id="site-header" role="banner"><div class="header-content">{{ slot() }}</div></header>
        {% endslot %}
    
        {# Wrapper mit Hero und Main-Content #}
        <div id="wrapper">
            {% slot hero %}
                <div id="hero">{{ slot() }}</div>
            {% endslot %}
    
            {% slot main %}
                <main id="main" role="main" tabindex="-1">{{ slot() }}</main>
            {% endslot %}
        </div>
    
        {# Footer nach dem Wrapper #}
        {% slot footer %}
            <footer id="footer" role="contentinfo"><div class="footer-content">{{ slot() }}</div></footer>
        {% endslot %}
    
        {# end_of_body aus Vorlage übernommen #}
        {% block end_of_body %}
            {{ parent() }}
            {% for element in (response_context.end_of_body|default([])) %}
                {{ element|raw }}
            {% endfor %}
            {{ response_context.json_ld_scripts|default|raw }}
            <script src="/files/themes/frontend/javascript/stickyHeader.min.js"></script>
    
        {% endblock %}
    {% endblock %}
    Danke und viele Grüße
    Timo

  2. #2
    Community-Moderator Avatar von stefan-at-work
    Registriert seit
    05.06.2009.
    Ort
    Bad Segeberg
    Beiträge
    1.797
    Partner-ID
    634

    Standard

    @Timo - kleiner Tipp: Ab nach Düsseldorf:

    https://www.contao-konferenz.de/moritz-vondano.html

    [emoji6]


    Gesendet von iPhone mit Tapatalk

  3. #3
    Contao-Fan Avatar von intradesign
    Registriert seit
    28.07.2015.
    Beiträge
    346

    Standard

    Bin dabei in Düsseldorf...

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.437
    Partner-ID
    10107

    Standard

    Moderation: Posts in einen eigenen Thread verschoben.
    » sponsor me via GitHub or Revolut

  5. #5
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.437
    Partner-ID
    10107

    Standard

    Zitat Zitat von intradesign Beitrag anzeigen
    Für die Einbindung z.B. einen Sliders oder eines Akkordions, musste ich ja bisher das entsprechende JavaScript im Seitenlayout aktivieren
    Das ist bei den neuen Inhaltselementen nicht mehr der Fall.


    Die Twig Layouts sind generell noch experimentell. Du kannst sie einsetzen, wenn sie für dich passend sind - ansonsten bleibe beim bisherigen Layout.
    » sponsor me via GitHub or Revolut

  6. #6
    Contao-Fan Avatar von lbableck
    Registriert seit
    10.06.2021.
    Beiträge
    355
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Das ist bei den neuen Inhaltselementen nicht mehr der Fall.
    Wie funktionieren in den neuen Twig-Layouts dann Lightboxen? Erweiterungen müssen vermutlich das page/regular Template extenden statt den js_* Templates, oder?

  7. #7
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.437
    Partner-ID
    10107

    Standard

    Die Lightbox Libraries und Templates in Contao sind veraltet, da gibt es nichts neues.
    » sponsor me via GitHub or Revolut

  8. #8
    Alter Contao-Hase
    Registriert seit
    18.07.2012.
    Ort
    Löbau
    Beiträge
    1.180

    Standard

    Ist es denn schon möglich bei einen Multi-CMS die layout/default.html.twig für mehrere Seiten anzulegen?

    ich habe zwar die layout/default.html.twig in den jeweiligen template ordner aber unter Seiten-Template kann ich nach wie vor nur das con contaoCore auswählen.

    cache habe ich auch mehrfach geleert.
    Liebe Grüße
    WebRoxx


  9. #9
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.437
    Partner-ID
    10107

    Standard

    Zitat Zitat von WebRoxx Beitrag anzeigen
    ich habe zwar die layout/default.html.twig in den jeweiligen template ordner aber unter Seiten-Template kann ich nach wie vor nur das con contaoCore auswählen.
    Wenn du nur layout/default.html.twig angelegt hast, hast du ja einfach nur das Default Template überschrieben - und daher auch keine separate Auswahl.

    Du müsstest eine andere Variante anlegen, wie zB layout/foobar.html.twig (ungetestet)
    » sponsor me via GitHub or Revolut

  10. #10
    Alter Contao-Hase
    Registriert seit
    18.07.2012.
    Ort
    Löbau
    Beiträge
    1.180

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Wenn du nur layout/default.html.twig angelegt hast, hast du ja einfach nur das Default Template überschrieben - und daher auch keine separate Auswahl.

    Du müsstest eine andere Variante anlegen, wie zB layout/foobar.html.twig (ungetestet)

    Okay, das funktioniert....

    ist es absicht das es immer unter templates/layout liegen muss und man es nicht unter templaes/domain_order/layout ablegen kann?
    auch kann man scheinbar den namen im backend nicht editieren, was nicht so praktisch ist wenn man es jedes mal über ftp machen muss...
    Liebe Grüße
    WebRoxx


  11. #11
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.437
    Partner-ID
    10107

    Standard

    Zitat Zitat von WebRoxx Beitrag anzeigen
    ist es absicht das es immer unter templates/layout liegen muss und man es nicht unter templaes/domain_order/layout ablegen kann?
    Hast du noch gar nicht mit dem neuen Twig Templates gearbeitet, bspw. für Inhaltselemente? Mit den neuen Seitenlayouts für Twig haben deine Fragen prinzipiell nichts zu tun.

    • templates/domain_ordner/ wäre ein Theme Ordner, den du in deinem Theme definieren musst.
    • templates/domain_ordner/ kannst du nicht nutzen, da Unterstriche im Theme Ordner nicht mehr erlaubt sind.
    • Im Theme Ordner kannst du nur bestehende Templates überschreiben. Also templates/domain_ordner/layout/foobar.html.twig würde nicht funktionieren, wenn nicht auch schon templates/layout/foobar.html.twig existiert.
    Geändert von Spooky (Heute um 09:25 Uhr)
    » sponsor me via GitHub or Revolut

  12. #12
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.437
    Partner-ID
    10107

    Standard

    Zitat Zitat von WebRoxx Beitrag anzeigen
    auch kann man scheinbar den namen im backend nicht editieren, was nicht so praktisch ist wenn man es jedes mal über ftp machen muss...
    https://github.com/contao/contao/issues/8770
    » sponsor me via GitHub or Revolut

  13. #13
    Alter Contao-Hase
    Registriert seit
    18.07.2012.
    Ort
    Löbau
    Beiträge
    1.180

    Standard

    okay, dann warte ich mal bis es behoben ist...

    hab grad nochmal alles durchgespielt... wenn ich es im themeordner ablege kann man es auf jedenfall nicht wählen...
    Liebe Grüße
    WebRoxx


  14. #14
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.437
    Partner-ID
    10107

    Standard

    Zitat Zitat von WebRoxx Beitrag anzeigen
    hab grad nochmal alles durchgespielt... wenn ich es im themeordner ablege kann man es auf jedenfall nicht wählen...
    Das hast du beachtet?
    » sponsor me via GitHub or Revolut

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

    Support Contao

    Standard

    Bei Änderungen bei den Twig-Templates über FTP außerdem nicht vergessen den Symfony-Cache zu leeren.
    Geändert von mlweb (Heute um 10:09 Uhr)
    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.




  16. #16
    Alter Contao-Hase
    Registriert seit
    18.07.2012.
    Ort
    Löbau
    Beiträge
    1.180

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Das hast du beachtet?
    templates/layout/meindefault.html.twig -> wird angezeigt
    templates/themordner/layout/meindefault.html.twig -> wird nicht angezeigt
    templates/layout/meindefault.html.twig + templates/themordner/layout/meindefault.html.twig -> wird nur ersteres angezeigt [Global]

    cache etc, auch geleert.... oder ich checks einfach nicht

    bin halt davon ausgegangen das man pro themeorder einfach das layout/default template speichern kann und man es dann eben auswählen kann
    Liebe Grüße
    WebRoxx


Aktive Benutzer

Aktive Benutzer

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

Berechtigungen

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