Ergebnis 1 bis 16 von 16

Thema: Eigene DCA-Pallette im twig-Template ausgeben

  1. #1
    Contao-Nutzer
    Registriert seit
    30.04.2015.
    Beiträge
    42

    Standard Eigene DCA-Pallette im twig-Template ausgeben

    Hallo zusammen,

    ich habe die tl_content.php um einige Felder erweitert und diese im BE mit Inhalten versehen. Jetzt möchte ich sie im FE ausgeben. Dafür habe ich das Template entsprechend verändert:

    PHP-Code:
    {% extends "@Contao/content_element/text.html.twig" %}

    {% 
    block text %}

        {{ 
    parent() }}

        <
    p>Dieser Text wird normal ausgegeben.</p>

        
    // Die folgende Variable wird nicht ausgegeben, obwohl sie Inhalt hat
        
    {{ button_text }}

    {% 
    endblock %} 
    Cache wurde gelöscht, Datenbank ist uptodate. Die Variablen werden nicht erkannt/ausgegeben. Kann mir jemand sagen, was fehlt oder was falsch ist?

    Danke im Voraus ...

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

    Standard

    https://docs.contao.org/dev/framewor...gging/#dumping

    »

    PHP-Code:
    {{ data.button_text }} 
    » sponsor me via GitHub or Revolut

  3. #3
    Contao-Nutzer
    Registriert seit
    30.04.2015.
    Beiträge
    42

    Daumen hoch

    Danke, das mit dem data.-Präfix habe ich nicht gewusst.

    Kannst du mir noch verraten, wie ich die Inhalte in <div class="rte">hier rein</div> bekomme?

    Mit {{ parent() }} kann ich aktuell nur bestimmen, ob die Variablen vorher oder nachher eingebunden werden.

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

    Standard

    Zitat Zitat von DinKontao Beitrag anzeigen
    Danke, das mit dem data.-Präfix habe ich nicht gewusst.
    Einfach immer die Template-Daten ansehen


    Zitat Zitat von DinKontao Beitrag anzeigen
    Kannst du mir noch verraten, wie ich die Inhalte in <div class="rte">hier rein</div> bekomme?

    Mit {{ parent() }} kann ich aktuell nur bestimmen, ob die Variablen vorher oder nachher eingebunden werden.
    Was genau möchtest du machen?
    » sponsor me via GitHub or Revolut

  5. #5
    Contao-Nutzer
    Registriert seit
    30.04.2015.
    Beiträge
    42

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Einfach immer die Template-Daten ansehen
    Das ist für mich leider nicht ersichtlich. Wo genau hätte das gestanden haben sollen? (Mit deinem Tipp funktioniert es nun wie gewünscht.)


    Zitat Zitat von Spooky Beitrag anzeigen
    Was genau möchtest du machen?
    Einfach meine Variablen mit dazugehörigem HTML in das beretis vorhandene <div class="rte">hineinpacken, ohne die Inhalte (Texte, Überschriften, Liste, etc.) zu verändern.

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

    Standard

    Zitat Zitat von DinKontao Beitrag anzeigen
    Das ist für mich leider nicht ersichtlich. Wo genau hätte das gestanden haben sollen?
    Wie hast du es denn versucht?


    Zitat Zitat von DinKontao Beitrag anzeigen
    Einfach meine Variablen mit dazugehörigem HTML in das beretis vorhandene <div class="rte">hineinpacken, ohne die Inhalte (Texte, Überschriften, Liste, etc.) zu verändern.
    Vor oder nach dem Inhalt?
    » sponsor me via GitHub or Revolut

  7. #7
    Contao-Nutzer
    Registriert seit
    30.04.2015.
    Beiträge
    42

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Wie hast du es denn versucht?
    Erst mal ohne, natürlich habe aber auch im Netz nirgends einen entsprechednen Hinweis auf das Präfix gefunden.


    Zitat Zitat von Spooky Beitrag anzeigen
    Vor oder nach dem Inhalt?
    Danach, quasi direkt vor dem </div>

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

    Standard

    Zitat Zitat von DinKontao Beitrag anzeigen
    Erst mal ohne, natürlich habe aber auch im Netz nirgends einen entsprechednen Hinweis auf das Präfix gefunden.
    Du musst dir wie gesagt einfach immer die Template Daten ansehen (siehe oben).



    Zitat Zitat von DinKontao Beitrag anzeigen
    Danach, quasi direkt vor dem </div>
    Dann:
    PHP-Code:
    {# templates/content_element/text.html.twig #}
    {% extends "@Contao/content_element/text.html.twig" %}

    {% 
    block rich_text_inner %}
        {{ 
    parent() }}
        {{ 
    data.button_text }}
    {% 
    endblock %} 
    » sponsor me via GitHub or Revolut

  9. #9
    Contao-Nutzer
    Registriert seit
    30.04.2015.
    Beiträge
    42

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    {{ data.button_text }}
    Könnt ihr das bitte in die Doku aufnehmen? Das ist super hilfreich.

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

    Standard

    Zitat Zitat von DinKontao Beitrag anzeigen
    Könnt ihr das bitte in die Doku aufnehmen? Das ist super hilfreich.
    Was genau?
    » sponsor me via GitHub or Revolut

  11. #11
    Contao-Nutzer
    Registriert seit
    30.04.2015.
    Beiträge
    42

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    PHP-Code:
    {# templates/content_element/text.html.twig #}
    {% extends "@Contao/content_element/text.html.twig" %}

    {% 
    block rich_text_inner %}
        {{ 
    parent() }}
        {{ 
    data.button_text }}
    {% 
    endblock %} 
    Das funktioniert leider nicht. Mein Pfad zum Template ist: templates/projektname/content_element/text.html.twig
    Ist das evtl. problematisch?

    Folgendes klappt (bloß falsches HTML-Element):

    PHP-Code:
    {% extends "@Contao/content_element/text.html.twig" %}


    {% 
    block text %}

      {{ 
    parent() }}
      {% if 
    data.button_linkurl %}
        
        <
    nav class="button">
          <
    a href="{{ data.button_linkurl }}" class="{% if data.button_transpa %}transparent{% endif %}{% if data.button_scrollspy %} scrollspy{% endif %}" {% if data.button_title %} title="{{ data.button_title }}"{% endif %}{% if data.button_blank %} target="_blank"{% endif %}>{{ data.button_text }}</a
        </
    nav>

      {% endif %}

    {% 
    endblock %} 
    - - - Aktualisiert - - -

    Zitat Zitat von Spooky Beitrag anzeigen
    Was genau?
    Den Hinweis auf data.-Präfix .

  12. #12
    Contao-Nutzer
    Registriert seit
    30.04.2015.
    Beiträge
    42

    Standard

    Wenn ich {% block media %} eingebe, werden die Variablen im figure-Tag ausgegeben, wie ich es eigentlich im div darunter haben möchte.

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

    Standard

    Zitat Zitat von DinKontao Beitrag anzeigen
    Den Hinweis auf data.-Präfix .
    Du musst dir wie gesagt immer die Template-Daten ausgeben (und das ist ja dokumentiert).
    » sponsor me via GitHub or Revolut

  14. #14
    Contao-Nutzer
    Registriert seit
    30.04.2015.
    Beiträge
    42

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Dann:
    PHP-Code:
    {# templates/content_element/text.html.twig #}
    {% extends "@Contao/content_element/text.html.twig" %}

    {% 
    block rich_text_inner %}
        {{ 
    parent() }}
        {{ 
    data.button_text }}
    {% 
    endblock %} 
    rich_text_inner klappt leider nicht. Hat jemand eine andere Idee?

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

    Standard

    In Contao 5.3 muss es so sein:
    PHP-Code:
    {# templates/content_element/text.html.twig #}
    {% extends "@Contao/content_element/text.html.twig" %}

    {% 
    block text %}
        {% 
    set text_attributes attrs()
            .
    addClass('rte')
            .
    mergeWith(text_attributes|default)
        %}
        <
    div{% block text_attributes %}{{ text_attributes }}{% endblock %}>
            {{ 
    text|csp_inline_styles|insert_tag|encode_email|raw }}
            {{ 
    data.button_text }}
        </
    div>
    {% 
    endblock %} 
    » sponsor me via GitHub or Revolut

  16. #16
    Contao-Nutzer
    Registriert seit
    30.04.2015.
    Beiträge
    42

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    In Contao 5.3 muss es so sein:
    PHP-Code:
    {# templates/content_element/text.html.twig #}
    {% extends "@Contao/content_element/text.html.twig" %}

    {% 
    block text %}
        {% 
    set text_attributes attrs()
            .
    addClass('rte')
            .
    mergeWith(text_attributes|default)
        %}
        <
    div{% block text_attributes %}{{ text_attributes }}{% endblock %}>
            {{ 
    text|csp_inline_styles|insert_tag|encode_email|raw }}
            {{ 
    data.button_text }}
        </
    div>
    {% 
    endblock %} 
    Danke, so klappt das!

Aktive Benutzer

Aktive Benutzer

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

Berechtigungen

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