Ergebnis 1 bis 6 von 6

Thema: Twig Template Vars anpassen und ausgeben

  1. #1
    Contao-Nutzer
    Registriert seit
    05.07.2021.
    Beiträge
    31

    Frage Twig Template Vars anpassen und ausgeben

    Kurz mal meine persönliche Meinung: Ich glaube der Umstieg auf TWIG ist für viele Contao Nutzer ein harter Brocken. Selbst ich als Entwickler, der die Dokumentation gelesen hat, hab massive Probleme mit den Twig Templates. Und das Forum ist ja voll von Anfragen bzgl. der Umsetzung...Contao soll nicht schwerer für alle werden, sondern einfacher!

    Nun das Problem:
    Wir setzen auf eine reine CSS Navigation ohne Javascript, die ein- und ausgeblendet wird.
    Nun müssen wir mittels Twig Template auch hier die Menübutton anpassen, da bei "index" ein Neuladen der Seite durchgeführt wird, welches unterdrückt werden soll.
    Folgender Code wird verwendet:

    Code:
    {% extends "@Contao/content_element/image.html.twig" %}
    
    {% if data.imageUrl == 'index/#top' %}
      {% set data.imageUrl = "/#top" %}
    {% endif %}
    
    {% if data.imageUrl == 'index/#not' %}
      {% set data.imageUrl = '/#not' %}
    {% endif %}
    
    {% block picture_component %}
      {{ parent() }}
    {% endblock %}
    Leider wirft das System einen "Unexpected token "punctuation" of value "." ("end of statement block" expected)" Fehler aus, was ich gar nicht nachvollziehen kann.
    Was habe ich vor? Ich möchte den Bildlink einfach so anpassen, dass das "index" durch nichts ersetzt wird.

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

    Support Contao

    Standard

    Zitat Zitat von marcfunk Beitrag anzeigen
    Kurz mal meine persönliche Meinung: Ich glaube der Umstieg auf TWIG ist für viele Contao Nutzer ein harter Brocken. Selbst ich als Entwickler, der die Dokumentation gelesen hat, hab massive Probleme mit den Twig Templates. Und das Forum ist ja voll von Anfragen bzgl. der Umsetzung...Contao soll nicht schwerer für alle werden, sondern einfacher!

    Nun das Problem:
    Wir setzen auf eine reine CSS Navigation ohne Javascript, die ein- und ausgeblendet wird.
    Nun müssen wir mittels Twig Template auch hier die Menübutton anpassen, da bei "index" ein Neuladen der Seite durchgeführt wird, welches unterdrückt werden soll.
    Ich verstehe nicht ganz was Deine Einleitung mit Deinem Problem zu tun hat. Und auch nicht was das gepostete Template mit der Navigation zu tun hat.
    Noch sind im Core nur die Inhaltselemente Twig-Templates und bei den Modulen kannst Du ohne weiteres weiter mit den html5 Templates arbeiten.


    Zitat Zitat von marcfunk Beitrag anzeigen
    Folgender Code wird verwendet:

    Code:
    {% extends "@Contao/content_element/image.html.twig" %}
    
    {% if data.imageUrl == 'index/#top' %}
      {% set data.imageUrl = "/#top" %}
    {% endif %}
    
    {% if data.imageUrl == 'index/#not' %}
      {% set data.imageUrl = '/#not' %}
    {% endif %}
    
    {% block picture_component %}
      {{ parent() }}
    {% endblock %}
    Leider wirft das System einen "Unexpected token "punctuation" of value "." ("end of statement block" expected)" Fehler aus, was ich gar nicht nachvollziehen kann.
    Was habe ich vor? Ich möchte den Bildlink einfach so anpassen, dass das "index" durch nichts ersetzt wird.
    Alle Anpassungen müssen m.E. in den zur Verfügung stehenden Blöcken gemacht werden. Du hast Anpassungen außerhalb eines Blocks.
    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.




  3. #3
    Contao-Nutzer
    Registriert seit
    05.07.2021.
    Beiträge
    31

    Standard

    Ich hatte bereits die if Abfragen im block picture_component eingefügt - auch da erscheint das gleiche Problem.

    Auch wenn jetzt noch html5 genutzt werden kann - ab C6 soll ja nur noch Twig vorhanden sein - also muss man sich zwangsläufig damit nun mal befassen.

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

    Standard

    Poste dein aktuelles Template und den kompletten Stack Trace.
    » sponsor me via GitHub or PayPal or Revolut

  5. #5
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.942

    Standard

    Das setzen eines Array Elements geht m.W. in Twig so nicht. Du könntest aber vielleicht

    Code:
    {% set fixedImageUrl = data.imageUrl %}
    
    {% if data.imageUrl == 'index/#top' %}
      {% set fixedImageUrl = "/#top" %}
    {% endif %}
    Verwenden und dann an den entsprechenden Stellen fixedImageUrl einsetzen.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  6. #6
    Contao-Nutzer Avatar von Monique Hahnefeld
    Registriert seit
    22.11.2011.
    Ort
    Berlin
    Beiträge
    173

    Frage Twig content_element/gallery

    Hi. Kann mir da wir hier beim Thema Twig sind sagen wie ich eine CSS-Klasse an die Li-Tags der Gallery bekomme? Folgendes habe ich probiert und es funktioniert leider nicht. An das Ul-Tag hab ich eine CSS-Klasse dran bekommen aber eben nicht an die Li-Tags =)

    Das ist mein jetziges Template:
    Code:
    {% extends "@Contao/content_element/gallery.html.twig" %}
    
    {#
      ** Add changes to the base template here. **
    
      Hint: Try adjusting blocks and attributes instead of
      overwriting the whole template. This way your version
      can remain compatible with future changes to the base
      template as well as adjustments made by extensions.
    
      Currently available blocks:
        "list_component", "list", "list_attributes",
        "list_item_attributes", "list_item", "pagination",
        "list_script", "pagination_script_show_element",
        "pagination_script_activate_selector",
        "picture_component", "image", "sources", "source",
        "schema_org", "figure_component", "media",
        "media_link", "caption", "caption_inner",
        "content", "headline_component",
        "headline_attributes", "headline_inner",
        "wrapper", "wrapper_tag", "attributes", "inner",
        "metadata", "style", "script"
    
      Example:#}
        {% block list_component %}
          {% set list_attributes = attrs(list_attributes|default).addClass('row')%}
          {{parent()}}
    
        {% endblock %}
           {% block list_item %}
     
           {% set list_item_attributes = attrs(list_item_attributes|default).addClass('col-6 col-md-4')%}
     
          {{parent()}}
    
        {% endblock %}
    Das hier habe ich auch schon versucht:

    Code:
    {% extends "@Contao/content_element/gallery.html.twig" %}
    
    
        {% block list_component %}
          {% set list_attributes = attrs(list_attributes|default).addClass('row')%}
           {% set list_item_attributes = attrs(list_item_attributes|default).addClass('col-6 col-md-4')%}
     
          {{parent()}}
    
        {% endblock %}
    Curiosity killed the cat

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
  •