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="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="{{ asset('js/tablesort.min.js', 'contao-components/tablesort') }}"></script>
<script src="{{ asset('js/jquery.js', 'contao-components/jquery') }}"></script>
{% endblock %}
{% block body_content %}
<div id="wrapper">
{% slot header %}
<header id="header"><div class="inside">{{ slot() }}</div></header>
{% endslot %}
{% slot main %}
<div id="container">
<main id="main"><div class="inside">{{ slot() }}</div></main>
</div>
{% endslot %}
{% 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 %}