Contao FAQ mit Tipps & Tricks

Hier findet ihr Contao FAQ, Tipps & Tricks zu Optimierungen und Einstellungen für die Version 4.

Was sind die besten Contao Inserttags ?

Mit Contao Insert Tags können Inhalte oder Module die schon angelegt sind an anderen Stellen eingebunden werden. ein großer Vorteil, um nicht alles doppelt zu pflegen und somit eine Kopie an einer anderen Stelle auf der Seite wieder zu verwenden.

Offizielle Dokumentation der Insert Tag's für Contao 4.

Hier sind die wichtigsten Insert-Tags um Inhalte oder Funktionen zu referenzieren.

Der Stern muss durch die ID des Artikels, Content-Elements oder Modul ersetzt werden.

Die geschweiften Klammern muss beim kopieren hier aus dem Text das Leerzeichen gelöscht werden.

Link auf eine interne Seite / URL per ID

Dieses Tag wird mit der URL einer internen Seite ersetzt.

Ich nutzt die Lösung z.B. um ein Logo mit der Startseite zu verlinken, wenn ich es über HTML als Inhaltselement löse.

{{ link_url::* }} / <a href="{ {link_url::12} }">Hier klicken</a>

Inkludiert einen bestehenden Artikel

Dieses Tag wird mit dem referenzierten Artikel ersetzt (ersetze * mit der ID oder dem Alias).

Die Möglichkeit bietet sich z.B. an, um einen Inhalt im Footer von einer vom Redakteur zugänglichen Stelle pflegbar zu machen. Ich löse das über eine versteckte Seite, die nicht veröffentlicht ist und nur als Container dient.

Eine weitere Lösung bieten Inhalte die auf Unterseiten öfter vor kommen. Damit wird nur an einer Stelle gepflegt und die Inhalte ändern sich durch den Include automatisch.

{{ insert_article::* }}

Inkludiert Content vom Type Text, Bild, HTML, ...

Dieses Tag wird mit dem referenzierten Inhaltselement ersetzt (ersetze * mit der ID des Elements).

Die Möglichkeit bietet sich z.B. an, um ein Inhaltselemente wie z.B. ein Logo zu includieren. Ich löse das über eine versteckte Seite, die nicht veröffentlicht ist und nur als Container dient.

{{ insert_content::* }}

Inkludiert ein Modul

Dieses Tag wird mit dem referenzierten Modul ersetzt (ersetze * mit der ID des Moduls).

Die Möglichkeit bietet sich z.B. an, um ein Navigationsmodul, Sprachumschalter und Suche in ein HTML Element zu inkludieren. Ich nutze die Möglichkeit oft für den Header und erstelle unter dem Theme ein HTML Element in dem die Module inkludiert werden. Das Modul wird dann im Layout eingebunden und beinhalte die Module.

{{ insert_module::* }}

Sprachspezifische Bezeichnungen oder Modul ausgeben

Du kannst so sprachspezifische Bezeichnungen ausgeben, oder darüber Module wie einen Link auf das Logo auf die DE oder EN Startseite abhängig von der eingestellten Sprache ausgeben.

{{ iflng::en }}Your name{{ iflng::de }}Ihr Name{{ iflng }}
{{ iflng::en }}<div class="">EN-Modul</div>{{ iflng::de }}<div class="">DE-Modul</div>{{ iflng }}
Warum wird der Contao Suchindex nicht aufgebaut

Local den Contao Crawler starten

Bei mir entwickle ich lokal unter einem MAC mit MAMP und erstelle mir für die Projekte darüber ein eigenes SSL Zertifikat das nur lokal zum Einsatz kommt. Das Problem ist, das der Crawler das ignoriert und sofort abbricht. Egal ob über die Console oder über die Systemwartung.

Damit der Crawler auch eigen SSL Zertifikate akzeptiert muss folgendes in die config.yml eingetragen werden.

contao:
    search:
        default_indexer:
            enable: true
        index_protected: true
    crawl:
        default_http_client_options:
            verify_peer: false

Suchindex neu aufbauen über die Console

Den Suchindex neu aufzubauen geht mit der passenden PHP Version

php8.2 vendor/bin/contao-console contao:crawl

oder direkt

vendor/bin/contao-console contao:crawl

Geprüft wird das welche aktiv ist mit php -v

altes fe_page Template ?

Oft kommt es auch vor, das du ein altes fe_page Template einsetzt in dem der Eintrag für jsonLdScripts fehlt.

Schau dazu in das fe_page Template, ob am Ende unten bei mootools folgender Eintrag drinnen ist.

<?= $this->jsonLdScripts ?>

Suchindex neu aufbauen über die Systemwartung im Backend

Der Suchindex sollte nun auch über das Backend neue aufgebaut werden können.

Contao Backend - Wie komme ich rein? Welche URL ist es?

Die alten Contao Versionen 2er und 3er Reihe haben einen Ordner /contao/ in der das Contao Backend zu erreichen ist. Ihr müsst einfach /contao/ hinter den Domainnamen hängen und seht dann den Login für das Contao Backend, in das ihr mit Username und Passwort zur Bearbeitung auf die Oberfläche kommt.

Z.B. www.domainname.de/contao/ für die Versionen der 2er und 3er.

Die Contao-4er Version ist über /contao hinter der URL erreichbar. Der Pfad ist ein vom CMS System generierter Ordner, der physikalisch nicht wie ein echter Ordner existiert.

Z.B. www.domainname.de/contao für die Versionen der 4/5 er Version.

Wie man sein Contao Backend absichert könnt ihr hier in meiner Beschreibung für die ältere Version nachlesen.

Contao Backend URL
Wie wird in Contao 4 die JPEG-Qualität eingestellt?

Unter Contao 4 wurde die Einstellung in die config-Datei ausgelagert. Falls die noch nicht existiert, müsst ihr die unter config/config.yml anlegen und mit folgendem Wert bestücken.

# Contao configuration
contao:
    image:
        imagine_options:
            jpeg_quality: 75

Achtet dabei darauf, das du keine Tabs zum einrücken verwendest. Da gibt es Probleme mit der Yaml-Datei das die nicht gelesen werden kann.

Generell empfehle ich die JPG oder JPEG Dateien per Bildverarbeitung wie PhotoShop oder einem vergleichbaren Program entsprechend der Zielgröße und Qualität zu speichern und nicht das CMS das Renderung überlassen. Mit dem online Tool tinypng.com können für die Formate JPG’s und PNG’s noch einige KB’s raus geholt werden.

Für die Optimierung einer Webseite auf Ladezeit könnt ihr euch meine Tipps durchlesen, um die Webseite schneller zu machen.