Contao-Summit 2026
Ergebnis 1 bis 14 von 14

Thema: Die Contao Show (Folge 24) – Hallo Contao 5.7

  1. #1
    Newsbot
    Registriert seit
    17.06.2009.
    Ort
    Newsbot - kein echter Nutzer!
    Beiträge
    878

    Beitrag Die Contao Show (Folge 24) – Hallo Contao 5.7

    In dieser Ausgabe dreht sich alles um die neue Contao Version 5.7. Christian, Christian und Dennis nehmen die Neuerungen unter die Lupe und schauen sich dabei besonders das Template Studio sowie das neue Twig-Layout mit Slots an


    Ganzen Beitrag zu 'Die Contao Show (Folge 24) – Hallo Contao 5.7' lesen

  2. #2
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.677
    User beschenken
    Wunschliste

    HTML Contao Demo - 1 column | start - no breadcrumb (twig)

    Habe mal zur Übung das Layout kopiert und auf Twig Layout umgestellt.
    Dafür vorher eine Variante angelegt (layout-1-column) und die dann zugewiesen. (inkl. preefooter slot)
    Die Show war da eine gute Anleitung, weil man für die Contao Demo CSS noch einige DIVs hinzufügen muss sowie id und class Angaben)

    Außerdem habe ich mal die Erweiterung "lukasbableck/contao-twig-layout-assets-bundle" ausprobiert, was die einem da so abnehmen kann.
    Da habe ich die generierte theme css hinzugefügt (vorher nach files kopiert) und einige JS Dateien. (theme script.js, a11y-nav.js und den "window.addEventListener" Teil.
    Das kann man natürlich auch alles in der Layout Variante einfügen.

    Hier mal meine Layout Variante. Noch nicht perfekt, wie gesagt ich übe damit was wie das alles funktioniert.

    Code:
    {% extends "@Contao/page/layout.html.twig" %}
    
    {%- set body_attributes = attrs()
        .addClass('layout--1-column')
        .mergeWith(body_attributes|default)
    -%}
    
    {% block end_of_head %}
        {{ parent() }}
        <link rel="stylesheet" href="{{ asset('contaodemo/files_contaodemo_theme_src_scss_app.scss.css', 'contao_vfs.files') }}">
        <script src="{{ asset('js/jquery.js', 'contao-components/jquery') }}"></script>
    {% endblock %}
    
    {% block body %}
        {{ parent() }}
        {{ include('@Contao/j_accordion.html.twig') }}
        {{ include('@Contao/js_slider.html.twig') }}
        {{ include('@Contao/j_colorbox.html.twig') }}
        {{ include('@Contao/j_tablesort.html.twig') }}
    {% endblock %}
    
    {% block body_content %}
    <div id="wrapper">
        {% slot header %}
            <header id="header"><div class="inside">{{ slot() }}</div></header>
        {% endslot %}
    
        <div id="container">
        {% slot main %}
            <main id="main"><div class="inside">{{ slot() }}</div></main>
        {% endslot %}
        </div>
    
        {% slot prefooter %}
            <div id="prefooter"><div class="inside">{{ slot() }}</div></div>
        {% endslot %}
    
        {% slot footer %}
            <footer id="footer"><div class="inside">{{ slot() }}</div></footer>
        {% endslot %}
    </div>
    {% endblock %}
    Geändert von BugBuster (06.03.2026 um 00:13 Uhr) Grund: verbessert
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  3. #3
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.677
    User beschenken
    Wunschliste

    Standard

    Das ist der generierte Teil mit css und js.
    Was mich eventuell stört ist, das die CSS Dateien von meinen Erweiterungen vor den CSS Dateien eingebunden werden wie die aus dem Layout Template. (bzw. aus der Erweiterung)
    Die müsste ich dann wohl auch in die Templates verlagern, nur muss ich dann sicherstellen, das die nicht mehrmals dann eingebunden werden. Das ging auch irgendwie, kam glaube ich auch in der Show zur Sprache.
    Nachtrag: stört mich hier nicht wirklich, ist sogar besser. Aber prinzipiell mal prüfen ob und wie man das alternativ tun könnte.

    Code:
            <link rel="canonical" href="https://contao57twig.contao5dev/">
                                   
            <link rel="stylesheet" href="/bundles/bugbustervisitors/mod_visitors_basic.css?v=ed199216">
            <link rel="stylesheet" href="/bundles/bugbusterbotstatistics/mod_botstatistics_fe.css?v=49d4aec7">
                                                        
           <link rel="stylesheet" href="/assets/swiper/css/swiper-bundle.min.css?v=12.1.2">
        
                
                            
        <link rel="stylesheet" href="assets/colorbox/css/colorbox.min.css">
        <link rel="stylesheet" href="assets/swipe/css/swipe.min.css">
        <link rel="stylesheet" href="assets/tablesorter/css/tablesorter.min.css">
        <link rel="stylesheet" href="files/contaodemo/files_contaodemo_theme_src_scss_app.scss.css">
        <script src="/assets/tablesort/js/tablesort.min.js?v=4.0.2"></script>
        <script src="/assets/jquery/js/jquery.js?v=3.7.1"></script>
    </head>
    Puh, ganz schön aufwendig das Ganze. Und das soll ein "normaler" User hinbekommen? Glaub ich nicht.
    Geändert von BugBuster (01.03.2026 um 00:15 Uhr) Grund: verbessert
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  4. #4
    Contao-Fan Avatar von dtptiger
    Registriert seit
    20.06.2009.
    Ort
    Nürnberg
    Beiträge
    886

    Standard

    Ein normaler User wird, wenn er sich daran traut, das Forum nerven …..ich jedenfalls tue ich mir C7 gegenwärtig nicht an, wegend der garantiert noch nicht nachgezogenen Extensions und des Twigzeuchs, wobei ich durchaus den Hintergrund und Zweck von twig irgendewie kenne und irgendwie gut finde.

    Mit einer Träne im Auge, da ich das Backend von C7 endlcih mal oberaffengeil fnde

    Und, ich habe deinen Therad gepinnt, um bei bedarf, auf die Anleitung zurück zukommen

    Sagt eine Stimme des Fußvolkes

    Grüße dtptiger
    Geändert von dtptiger (01.03.2026 um 02:06 Uhr)

  5. #5
    Administratorin Avatar von lucina
    Registriert seit
    19.06.2009.
    Ort
    Kiel (DE)
    Beiträge
    7.516
    Partner-ID
    152
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Niemand kann hier mit Fragen nerven.

    „Life is for Learning.“
    — Joni Mitchell


    Gesendet von iPhone mit Tapatalk

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

    Standard

    Zitat Zitat von BugBuster Beitrag anzeigen
    Was mich eventuell stört ist, das die CSS Dateien von meinen Erweiterungen vor den CSS Dateien eingebunden werden wie die aus dem Layout Template. (bzw. aus der Erweiterung)
    Das muss ja auch so sein, andernfalls könntest du das CSS ja nicht mit der selben specifity überschreiben. Davon abgesehen hat das ja nichts mit Contao 5.7 zu tun.
    » sponsor me via GitHub or Revolut

  7. #7
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.677
    User beschenken
    Wunschliste

    Standard

    Siehe Nachtrag oben, ist sogar richtig das die zuerst kommen. Das sind nicht die CSS der FE Module meiner Erweiterungen, das sind nur Basics die spezielle invisible Dinge setzen, ist eine Besonderheit hier.

    Ansonsten, doch hat mit Contao 5.7 zu tun, wenn man sich nun mit den Slots beschäftigt und wie man da CSS in der richtigen Reihenfolge wie rein bekommt.

    Was noch problematischer ist, woher man als "normalo" weiß, welche CSS und JS man wie einbinden muss um zum Beispiel swipe(r)/tablesorter zu verwenden.
    Sprich, wie man an die contao components Anteile ran kommt.
    Code:
        /* diese Zeile kommt von selbst, ohne Zutun meiner einer */
         <link rel="stylesheet" href="/assets/swiper/css/swiper-bundle.min.css?v=12.1.2">
    
        /* manuell eingetragen, abgeschaut von Standardlayout  */
        <link rel="stylesheet" href="assets/colorbox/css/colorbox.min.css">
        <link rel="stylesheet" href="assets/swipe/css/swipe.min.css">
        <link rel="stylesheet" href="assets/tablesorter/css/tablesorter.min.css">
    
        /* abgeschaut aus Contao Benutzerhandbuch Beispiele und try&error */
        <script src="{{ asset('js/tablesort.min.js', 'contao-components/tablesort') }}"></script>
        <script src="{{ asset('js/jquery.js', 'contao-components/jquery') }}"></script>
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  8. #8
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.677
    User beschenken
    Wunschliste

    Standard

    in #2 habe ich noch mal einiges geändert, das manuelle Einbinden wird stark vereinfacht durch den "block body" Anteil.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

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

    Standard

    Zitat Zitat von BugBuster Beitrag anzeigen

    Was noch problematischer ist, woher man als "normalo" weiß, welche CSS und JS man wie einbinden muss um zum Beispiel swipe(r)/tablesorter zu verwenden.
    Sprich, wie man an die contao components Anteile ran kommt.
    Deswegen wäre es schon gut wenn man das direkt wieder im Backend wählen könnte bzw wenn man ein Slider oder so einbaut diese automatisch eingefügt werden.

    Mir als Entwickler wäre es zwar egal aber das würde es doch einfacher und handlicher machen, da man jetzt wirklich für jedes Projekt ein Template anlegen muss

    Aber das ist nur mein Empfinden
    Liebe Grüße
    WebRoxx


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

    Standard

    Zitat Zitat von WebRoxx Beitrag anzeigen
    da man jetzt wirklich für jedes Projekt ein Template anlegen muss
    So ist es auch gedacht.

    In Zukunft soll es dann Helper-Methoden innerhalb des Template-Studios geben, um das zu vereinfachen.

    Wem das momentan alles zu hoch ist, bleibt halt beim Default-Layout.
    » sponsor me via GitHub or Revolut

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

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    So ist es auch gedacht.

    In Zukunft soll es dann Helper-Methoden innerhalb des Template-Studios geben, um das zu vereinfachen.

    Wem das momentan alles zu hoch ist, bleibt halt beim Default-Layout.
    Okay das hört sich doch gut an...
    Liebe Grüße
    WebRoxx


  12. #12
    Contao-Fan Avatar von Birden
    Registriert seit
    15.01.2011.
    Beiträge
    895

    Standard

    Zitat Zitat von BugBuster Beitrag anzeigen

    Code:
    {% block body %}
        {{ parent() }}
        {{ include('@Contao/js_slider.html.twig') }}
        {{ include('@Contao/j_colorbox.html.twig') }}
    {% endblock %}
    kann es sein, daß das bei Mehrsprachigkeit nicht greift?

  13. #13
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.677
    User beschenken
    Wunschliste

    Standard

    Keine Ahnung, damit arbeite ich normalerweise nicht.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  14. #14
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.677
    User beschenken
    Wunschliste

    Standard

    Meine Erkenntnisse habe ich mal hier reingepackt.
    https://github.com/BugBuster1701/contao-twig-layouts
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

Aktive Benutzer

Aktive Benutzer

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

Berechtigungen

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