Ergebnis 1 bis 8 von 8

Thema: Layout Twig Contao 5.6: Einbinden von CSS/JS-Files

  1. #1
    Contao-Nutzer
    Registriert seit
    05.01.2014.
    Beiträge
    36

    Standard Layout Twig Contao 5.6: Einbinden von CSS/JS-Files

    Mit dem Erscheinen von Contao 5.6 machte ich mich nun einige Stunden hinter das Layout mit dem default.html.twig.
    Während die Einrichtung zusätzlicher Slots fehlerfrei klappte, gelingt es mir trotz diversen Versuchen und Recherchen nicht, CSS-Stylesheets einzubinden.
    Ich habe das praktische Template Studio benutzt und bin insbesondere nach der Entwickler-Dokumentation vorgegangen (Reference>Twig>Tags>add), Fehlermeldung im Template Studio gibt es keine, aber trotz Neuaufbau des Cache und Leeren des Browsercaches wird die CSS-Datei einfach nicht eingebunden. Auch mit js und zum Beispiel 'content' schaffe ich es nicht.
    Vermutlich stehe ich irgendwo auf dem Schlauch...

    Code:
    {% extends "@Contao/layout/default.html.twig" %}
    
    {#
        Adjust how any blocks of parent or used component templates are rendered.
        Try typing "block" or "use" to get autocompletion for available options.
    #}
    {% use "@Contao/component/_stylesheet.html.twig" %}
    {% block head %}
        {{ parent() }}
        {# Adds a stylesheet #}
    {% add "style" to stylesheets %}
        {% with {file: asset('files/css/style.css')} %}
            {{ block('stylesheet_component') }}
        {% endwith %}
    {% endadd %}
    {% endblock %}

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

    Standard

    Dieses neue Feature ist noch experimentell.

    Verwendest du für deine Assets so etwas wie Webpack?
    » sponsor me via GitHub or Revolut

  3. #3
    Contao-Urgestein Avatar von Franko
    Registriert seit
    22.06.2009.
    Beiträge
    1.515
    Partner-ID
    6122

    Standard

    An den Vorgehensweisen & bez. möglicher Optimierungen wird gearbeitet:
    s.a.: https://github.com/contao/contao/issues/8705
    Freelancer, Digital Design Enthusiast, Contao Aficionado and Tutorial Junkie @MoinFranko - Carpe diem ...

  4. #4
    Contao-Nutzer
    Registriert seit
    05.01.2014.
    Beiträge
    36

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Dieses neue Feature ist noch experimentell.

    Verwendest du für deine Assets so etwas wie Webpack?
    Nein, ich habe mich an einer nativen Neuinstallation meine ersten Versuche mit dem layout twig gemacht.

  5. #5
    Contao-Nutzer
    Registriert seit
    05.01.2014.
    Beiträge
    36

    Standard

    Zitat Zitat von Franko Beitrag anzeigen
    An den Vorgehensweisen & bez. möglicher Optimierungen wird gearbeitet:
    s.a.: https://github.com/contao/contao/issues/8705
    Zitat Zitat von Spooky Beitrag anzeigen
    Dieses neue Feature ist noch experimentell.
    Alles klar, werde mich noch etwas in Geduld üben.
    Schön wäre natürlich, wenn in Zukunft solche Basis-Anpassungen wie bisher bei fe_page vom Backend her steuerbar wären und so ebenfalls wie bisher nur "ausserordentliche" Veränderungen am Layout der manuellen Einträge bedürfte. Aber ich gehe davon aus, dass dies wohl vom Core-Team schon längst so angedacht ist

  6. #6
    Contao-Urgestein
    Registriert seit
    24.02.2021.
    Beiträge
    1.651
    Partner-ID
    11715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von Toubibe Beitrag anzeigen
    Alles klar, werde mich noch etwas in Geduld üben.
    Schön wäre natürlich, wenn in Zukunft solche Basis-Anpassungen wie bisher bei fe_page vom Backend her steuerbar wären und so ebenfalls wie bisher nur "ausserordentliche" Veränderungen am Layout der manuellen Einträge bedürfte. Aber ich gehe davon aus, dass dies wohl vom Core-Team schon längst so angedacht ist
    Die Idee ist es, dass du das nun im Template machst. Gerade für einfache Sachen braucht es ja keine Checkbox oder Einstellungen, für die es dann in der Datenbank gespeichert werden muss. Moritz hat hier sicher schon einige Ideen, wie man das Template-Studio anpassen wird

    Denn Datenbank kannst du nicht so einfach versionieren und Layout ist ja schon Theme Sache

  7. #7
    Contao-Nutzer
    Registriert seit
    27.02.2013.
    Beiträge
    4

    Standard Falls es noch nicht zu spät ist, mein Work-Around

    HTML-Code:
    {% extends "@Contao/layout/default.html.twig" %}
    
    {% block head %}
        <meta charset="UTF-8">
        <meta name="generator" content="Contao Open Source CMS">
        {%- block title %}
            {% set title = head.title|default %}
            {% if title and contao.page.rootPageTitle|default %}
                {% set title = title ~ ' - ' ~ contao.page.rootPageTitle %}
            {% endif %}
             <title>{{ title }}</title>
        {%- endblock -%}
    
        {# @var \Contao\CoreBundle\Routing\ResponseContext\HtmlHeadBag\HtmlHeadBag head_bag #}
        {% set head_bag = response_context.head %}
    
        <meta name="robots" content="{{ head_bag.metaRobots }}">
        <meta name="description" content="{{ head_bag.metaDescription|u.truncate(320, '…') }}">
        {% if page['enableCanonical'] -%}
            <link rel="canonical" href="{{ head_bag.canonicalUriForRequest(app.request) }}">
        {% endif %}
        
        {# Eigenes CSS-File #}
        <link rel="stylesheet" href="files/css/iliyev.css">
    
        {%- block end_of_head -%}
            {% for element in response_context.end_of_head %}
                {{ element|raw }}
            {% endfor %}
        {%- endblock -%}
    {%- endblock -%}
    Geändert von Spooky (Gestern um 08:02 Uhr)

  8. #8
    Contao-Nutzer
    Registriert seit
    27.05.2016.
    Beiträge
    52

    Standard Workaround von RalfPuppe gekürzt?

    Zitat Zitat von RalfPuppe Beitrag anzeigen
    {% extends "@Contao/layout/default.html.twig" %}

    {% block head %}
    <meta charset="UTF-8">
    <meta name="generator" content="Contao Open Source CMS">
    {%- block title %}
    {% set title = head.title|default %}
    {% if title and contao.page.rootPageTitle|default %}
    {% set title = title ~ ' - ' ~ contao.page.rootPageTitle %}
    {% endif %}
    <title>{{ title }}</title>
    {%- endblock -%}

    {# @var \Contao\CoreBundle\Routing\ResponseContext\HtmlHea dBag\HtmlHeadBag head_bag #}
    {% set head_bag = response_context.head %}

    <meta name="robots" content="{{ head_bag.metaRobots }}">
    <meta name="description" content="{{ head_bag.metaDescription|u.truncate(320, '…') }}">
    {% if page['enableCanonical'] -%}
    <link rel="canonical" href="{{ head_bag.canonicalUriForRequest(app.request) }}">
    {% endif %}

    {# Eigenes CSS-File #}
    <link rel="stylesheet" href="files/css/iliyev.css">

    {%- block end_of_head -%}
    {% for element in response_context.end_of_head %}
    {{ element|raw }}
    {% endfor %}
    {%- endblock -%}
    {%- endblock -%}
    Danke @RalfPuppe für Deinen Workaround!

    Ggf. (bin kein Twig-Experte) geht's updatesicherer und kürzer wie folgt?
    Hab noch die Einbindung einer .js-Datei am Body-Ende ergänzt.

    PHP-Code:
    {% extends "@Contao/layout/default.html.twig" %}

    {% 
    block head %}
        {{ 
    parent() }}
        <
    link rel="stylesheet" href="/files/css/css-file.css">
    {%- 
    endblock -%}

    {% 
    block body %}
        {{ 
    parent() }}
        <
    script src="/files/js/js-file.js"></script>
    {%- endblock -%} 
    Geändert von t.mayer (Gestern um 09:36 Uhr)

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
  •