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

.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

Das hier ist eine abstrakte Konversation

Marc A. Harnos
Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge