Ergebnis 1 bis 11 von 11

Thema: [contao-company-bundle] Twig und Insert tags

  1. #1
    Contao-Nutzer Avatar von worxer
    Registriert seit
    29.04.2011.
    Beiträge
    74

    Standard [contao-company-bundle] Twig und Insert tags

    In Contao 5.6 habe ich im Seitenlayout auf "Twig-Layout mit Slots" umgestellt.
    Seitdem werden die Insert tags der Erweiterung oveleon/contao-company-bundle nicht mehr ausgegeben, z.B. {{company::name}}

    Damit komme ich auch nicht weiter: {{ insert_tag('company::name')|raw }}

    Ist die Erweiterung Twig-kompatibel bzw. gibt es hier einen Workaround?

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

    Standard

    Sollte unabhängig davon sein (solange du den Insert-Tag an einer Stelle einfügst, wo er auch replaced wird).

    Was genau passiert bei der Nutzung der insert_tag Funktion? Poste mal den gesamten Code deines Templates.
    » sponsor me via GitHub or Revolut

  3. #3
    Contao-Nutzer Avatar von worxer
    Registriert seit
    29.04.2011.
    Beiträge
    74

    Standard

    Der Inhalt von templates/page/layout.html.twig sieht bei mir so aus:

    Code:
    {% extends "@Contao/page/layout.html.twig" %}
    
    {% block head %}
      {{ parent() }}
    
      {% add "glightbox_css" to head %}
        <link rel="stylesheet" href="{{ asset('bundles/contaoglightbox/css/glightbox.min.css') }}">
      {% endadd %}
    
      {% add "theme_css" to head %}
        <link rel="stylesheet" href="{{ asset('files/theme/next/css/styles.min.css') }}">
      {% endadd %}
    
    {% endblock %}
    
    {% block body_content %}
      {% slot header %}
        <header id="header" class="navbar-scrollspy">
            <div class="inside">{{ slot() }}</div>
        </header>
      {% endslot %}
      {% slot main %}
        <div id="container">
          <main>
            <div class="inside">{{ slot() }}</div>
          </main>
        </div>
      {% endslot %}  
      {% slot footer %}
        <footer id="footer">
          <div class="inside">{{ slot() }}</div>
        </footer>
      {% endslot %}
    {% endblock %}
    
    {% block end_of_body %}
    
      {# GLightbox Script #}
      {% add "glightbox_js" to body %}
        <script src="{{ asset('bundles/contaoglightbox/js/glightbox.min.js') }}" defer></script>
      {% endadd %}
    
      {# Scrollspy Script #}
      {% add "scrollspy" to body %}
        <script src="{{ asset('files/theme/next/js/scrollspy.js') }}" defer></script>
      {% endadd %}
    
      {# GLightbox initialisieren #}
      {% add "glightbox_init" to body %}
        <script>
          document.addEventListener('DOMContentLoaded', function () {
            if (typeof GLightbox !== 'function') return;
            GLightbox({ selector: 'a[data-lightbox]' });
          });
        </script>
      {% endadd %}
    
      {{ parent() }}
    {% endblock %}

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

    Standard

    Und wo hast du den Insert-Tag eingesetzt?
    » sponsor me via GitHub or Revolut

  5. #5
    Contao-Nutzer Avatar von worxer
    Registriert seit
    29.04.2011.
    Beiträge
    74

    Standard

    In einem Inhaltselement "Text" habe ich zum testen folgendes eingefügt:

    {{ insert_tag('company::name')|raw }}
    {{ insert_tag('company::name') }}

    {{company::name}}

    Die ersten beiden Zeilen werden ausgegeben, wie sie dort stehen und letztere erscheint als leeres <p>

    Code:
    <div class="rte">
    	<p>{{ insert_tag('company::name')|raw }}<br>{{ insert_tag('company::name') }}</p>
    	<p></p>
    </div>

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

    Standard

    insert_tag ist eine Twig Funktion, die kannst du nur direkt im Template nutzen, nicht in einem Inhaltselement eingeben.

    Der {{company::name}} Insert-Tag sollte allerdings funktionieren.
    » sponsor me via GitHub or Revolut

  7. #7
    Contao-Nutzer Avatar von worxer
    Registriert seit
    29.04.2011.
    Beiträge
    74

    Standard

    Ich habe eben noch einmal mit einer frischen contao/managed-edition 5.6 und dem contao-company-bundle getestet.
    Wähle ich das Standard-Layout, funktioniert der Insert Tag {{company::name}}.
    Sobald ich auf Twig-Layout mit Slots umstelle, verschwindet mein Wert aus dem Insert Tag im Frontend.

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

    Support Contao

    Standard

    Das dürfte deswegen so sein, weil die Extension den getPageLayout Hook nutzt um die Daten in das Company Object zu schreiben.
    Wenn Twig-Layouts verwendet werden wird der Hook aber nicht ausgeführt.

  9. #9
    Contao-Nutzer Avatar von worxer
    Registriert seit
    29.04.2011.
    Beiträge
    74

    Standard

    Ok, dann verzichte ich erst einmal entweder aufs Twig Layout oder die Erweiterung.

    Danke euch beiden!

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

    Support Contao

    Standard

    Melde das Problem am Besten auch einfach mal im GitHub Repo der Erweiterung.

  11. #11
    Contao-Urgestein
    Registriert seit
    24.02.2021.
    Beiträge
    1.846
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Habe einen Hinweis im Issue hinterlassen mit welchem das Problem gelöst werden könnte.
    Das aktuelle Pagemodel lässt sich auch über die Response ermitteln und benötigt hierbei nicht den Hook.

    Womöglich mag dieser Hinweis die Lösungsfindung ein wenig beschleunigen.

Aktive Benutzer

Aktive Benutzer

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

Berechtigungen

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