Ordner und Dateien in Contao 4

Aus Contao Community Documentation

betrifft
Contao Version Contao 4 latest managed edition


MsgError.png Unvollständiger Artikel: dieser Artikel ist noch nicht sauber bearbeitet.

Bitte erweitere ihn und entferne erst anschliessend diesen Hinweis.

Hier sollen die Ordner und Dateien von Contao 4 dokumentiert werden, welche zum Verständnis und zur Anpassung des Systems relevant sind.

In Contao 3 waren dies:

.htaccess
files/
system/
  config/
    dcaconfig.php
    initconfig.php
    langconfig.php
    localconfig.php
  modules/
templates/

Legende:

Anwendung: Contao (Contao ist eine Symfony Anwendung). Hiermit ist die komplette Installation gemeint.
BE: Backend
FE: Frontend


Nahezu jede Anpassung erfordert das anschließende Löschen des Caches.

Ordner und Dateien in Contao 4 #var/cache/

"Wichtig"


.htaccess

Die Datei ist leer. Hier kann ein Passwortschutz aufgesetzt werden.

composer.json

composer.lock

app/

app/config/

app/config/parameters.yml

Konfigurationsparameter der Anwendung, dies sind u.a. Datenbank-Zugangsdaten usw.

app/config/config.yml

Gemeinsame Konfigurationsdatei der Website, hier werden alle "services" konfiguriert.

Die Parameter aus "parameters.yml" werden hier oftmals verwendet (z.B. in `secret: "%secret%"`, welches den Parameter "secret" aus "parameters.yml" hier einträgt).

app/config/config_dev.yml

Konfigurationsdatei für das Entwicklungs-Environment (siehe auch web/app_dev.php)

app/config/config_prod.yml

Konfigurationsdatei für das Produktiv-Environment (siehe auch web/app.php)

app/Resources/

Alle Anwendungsressourcen werden hier abgelegt, dies sind u.a. twig Templates.

app/Resources/contao/

app/Resources/contao/config/

Alle Contao relevanten Konfigurationen landen hier, dies sind lokale Anpassungen.

app/Resources/contao/dca/

Hier abgelegte Dinge ersetzen die aus Contao 3.5 bekannten dca-Dateien einer "z_custom" extension und system/config/dcaconfig.php

Beispiel:

Für ein neues Feld in den Seiteneinstellungen, hier eine Datei tl_page.php erstellen und die Feldkonfiguration eintragen.

app/Resources/contao/languages/

Hier abgelegte Dinge ersetzen die aus Contao 3.5 bekannten languages einer "z_custom" extension und system/config/langconfig.php

Beispiel:

Für die Beschriftung eines neuen Feldes in den Seiteneinstellungen, hier eine Datei en/tl_page.php erstellen und die Sprachvariablen eintragen.

contao-manager/

Konfigurations-Verzeichnis des Contao Managers.

contao-manager/cache/

Cache-Verzeichnis des Contao Managers.

contao-manager/logs/

Log-Verzeichnis des Contao Managers.

system/

DEPRECATED - hier sollte man nichts rein tun.

Der Contao-Manager legt hier Legacy-Erweiterungen ab, damit diese im Contao 3.5 Modus in Contao 4 lauffähig gemacht werden. Diese Verzeichnisse werden außerdem nach web/system symlinked, damit die assets derselbigen Module lauffähig sind.

system/config/

system/config/initconfig.php

DEPRECATED - wie in Contao 3.5 kommt hier Initialisierungscode rein, welchen Contao beim "Start" ausführen soll.

Sollte man nicht mehr verwenden, lieber ein app-bundle bauen und saubere services.

system/config/localconfig.php

Konfigurationsdatei für Einstellungen, welche noch nicht im Manager bzw. parameters.yml sind.

Entspricht der Konfigurationsmaske im Backend (System/Einstellungen).

AN ENTWICKLER: Bitte nichts mehr in dca/tl_settings.php und localconfig.php hinzufügen. Eigene Dinge mittelfristig hieraus auch wieder entfernen. Verwendet stattdessen bundle-Konfigurationsparameter.

files/

Dateien, welche auf der Website veröffentlicht werden. jpg, png, pdf, mp3, mp4, css, js usw.

Unterordner müssen über die Dateiverwaltung explizit freigegeben werden.

templates/

Eigene Templates für die FE-Ausgabe.

var/

Ablageverzeichnis der Anwendung für u.a. cache, logs etc.

var/cache/

var/cache/prod/

Dies ist der Ordner, den man löschen soll, wenn man aufgefordert wird, manuell den Cache zu löschen. Anschließend soll man das Installtool aufrufen.

Der Contao-Manager erledigt diese Aufgabe unter dem Punkt "Systemwartung - Cache neu erstellen".

vendor/

Composer Bibliotheksverzeichnis - hier wird der Code von Erweiterungen und Bundles abgelegt.

vendor/bin/

vendor/bin/contao-console

Diese Datei kann auf der Kommandozeile aufgerufen werden.

Beispiel:

php vendor/bin/contao-console cache:clear

web/

Auf diesen Ordner muss die Domain geroutet werden.

web/.htaccess

Apache Konfiguration um u.a. auf app.php zu redirecten.

web/app.php

Produktiver entrypoint der Anwendung aus dem Web. Entspricht in etwa "index.php" in Contao 3.5.

web/app_dev.php

Entwicklungs entrypoint der Anwendung aus dem Web. Entspricht in etwa "index.php" mit aktiviertem Debug Modus in Contao 3.5.

Um über app_dev aufrufen zu können muss die Zugangskontrolle eingerichtet werden (nicht bei localhost):

siehe https://contao.ninja/contao-4-login-fuer-app_dev-php-setzen.html

Ist über die .htaccess im Installationsverzeichnis ein Passwortschutz aufgesetzt, dann muss die User/Password-Kombination dort auch freigegeben werden.

BE-Zugang: example.org/app_dev.php/contao

FE-Zugang: example.org/app_dev.php

web/bundles/

Hier werden alle assets von Bundles hineingelinkt um diese via web erreichbar zu machen.

web/system/

Siehe "system", hier werden assets von legacy Erweiterungen hin-gelinkt.


Wo findet man die DCA settings der Core Module?

Beispiel:

Für tl_news wäre dies hier:

vendor/contao/news-bundle/src/Resources/contao/dca/


--Andreas Burg (Diskussion) 18:19, 18. Okt. 2017 (CEST)

--Xtra (Diskussion) 20:08, 18. Okt. 2017 (CEST)

Ansichten
Meine Werkzeuge

Contao Community Documentation

Ich brauch nen Bier, es ist zwar noch nicht nach 4, aber es ist nach Oli.

Yanick Witschi
Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge