Ordner und Dateien in Contao 4: Unterschied zwischen den Versionen
Aus Contao Community Documentation
K (→web/.htaccess) |
|||
(49 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt) | |||
Zeile 4: | Zeile 4: | ||
{{stub}} | {{stub}} | ||
+ | [[Category:Core]] | ||
+ | [[Category:Dev HOWTOS]] | ||
[[Category:Admin HOWTOS]] | [[Category:Admin HOWTOS]] | ||
− | + | Hier sollen die Ordner und Dateien von Contao 4.8 ff. dokumentiert werden, welche zum Verständnis und zur Anpassung des Systems relevant sind. | |
− | Hier sollen die Ordner und Dateien von Contao 4 dokumentiert werden, welche zum Verständnis und zur Anpassung des Systems relevant sind. | + | |
− | + | <ul> | |
− | < | + | <li>assets/</li> |
− | . | + | <li>config/</li> |
− | files/ | + | <ul> |
− | system/ | + | <li> parameters.yml</li> |
− | + | </ul> | |
− | + | <li>files/</li> | |
− | + | <li>system/</li> | |
− | + | <ul> | |
− | + | <li> cache/</li> | |
− | + | <li> config/</li> | |
− | templates/ | + | <ul> |
− | </ | + | <li> localconfig.php</li> |
+ | </ul> | ||
+ | <li> logs/</li> | ||
+ | <li> modules/</li> | ||
+ | <li> themes/</li> | ||
+ | <li> tmp/</li> | ||
+ | </ul> | ||
+ | <li>templates/</li> | ||
+ | <li>var/</li> | ||
+ | <ul> | ||
+ | <li> cache/</li> | ||
+ | <li> logs/</li></ul> | ||
+ | <li>vendor/</li> | ||
+ | <li>web/</li> | ||
+ | <ul> | ||
+ | <li> assets/</li> | ||
+ | <li> bundles/</li> | ||
+ | <li> files/</li> | ||
+ | <li> share/</li> | ||
+ | <li> system/</li> | ||
+ | <ul> | ||
+ | <li> modules/</li> | ||
+ | <li> themes/</li> | ||
+ | </ul> | ||
+ | <li> .htaccess</li> | ||
+ | <li> app.php</li> | ||
+ | </ul> | ||
+ | <li>composer.json</li> | ||
+ | <li>composer.lock</li> | ||
+ | </ul> | ||
− | |||
− | |||
− | |||
− | ==composer.lock== | + | In der englischsprachigen Dokumentation (https://docs.contao.org/dev/getting-started/starting-development/#structure) finden sich weitere Hinweise. |
+ | |||
+ | '''Legende''': | ||
+ | * '''Anwendung''': Contao (Contao ist eine Symfony Anwendung). Hiermit ist die komplette Installation gemeint. | ||
+ | * '''BE''': Backend | ||
+ | * '''FE''': Frontend | ||
+ | * '''Kommandozeile''': Auch Konsole oder bei Windows Eingabeaufforderung genannt. Dafür muss man sich über einen SSH Zugang zum Server verbinden. Bekannte Clients sind Putty und "Bitvise SSH Client". | ||
+ | |||
+ | |||
+ | {{msgImportant| Ab hier muss die Doku weiter angepasst werden:}} | ||
+ | |||
+ | |||
+ | {{msgImportant|Nahezu jede Anpassung erfordert das anschließende Löschen des Caches. | ||
+ | |||
+ | [[Ordner_und_Dateien_in_Contao_4#var.2Fcache.2F|#var/cache/]]}} | ||
+ | |||
+ | ==<span style="color:#800">.htaccess</span>== | ||
+ | |||
+ | ==<span style="color:#800">composer.json</span>== | ||
+ | |||
+ | ==<span style="color:#800">composer.lock</span>== | ||
==app/== | ==app/== | ||
Zeile 34: | Zeile 81: | ||
===app/config/=== | ===app/config/=== | ||
− | ====app/config/parameters.yml==== | + | ====app/config/<span style="color:#800">parameters.yml</span>==== |
− | + | Konfigurationsparameter der Anwendung, dies sind u.a. Datenbank-Zugangsdaten usw. | |
− | ====app/config/ | + | ====app/config/<span style="color:#800">config.yml</span>==== |
− | ====app/config/config_prod.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/<span style="color:#800">config_dev.yml</span>==== | ||
+ | |||
+ | Konfigurationsdatei für das Entwicklungs-Environment (siehe auch [[Ordner und Dateien in Contao 4#web.2Fapp_dev.php|web/app_dev.php]]) | ||
+ | |||
+ | ====app/config/<span style="color:#800">config_prod.yml</span>==== | ||
+ | |||
+ | Konfigurationsdatei für das Produktiv-Environment (siehe auch [[Ordner und Dateien in Contao 4#web.2Fapp.php|web/app.php]]) | ||
===app/Resources/=== | ===app/Resources/=== | ||
+ | |||
+ | Alle Anwendungsressourcen werden hier abgelegt, dies sind u.a. twig Templates. | ||
====app/Resources/contao/==== | ====app/Resources/contao/==== | ||
+ | |||
+ | Dieser Ordner verhält sich wie eine eigene Erweiterung bei Contao 3.5. | ||
=====app/Resources/contao/config/===== | =====app/Resources/contao/config/===== | ||
+ | |||
+ | Alle Contao relevanten Konfigurationen landen hier, dies sind lokale Anpassungen. | ||
=====app/Resources/contao/dca/===== | =====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. | ||
+ | |||
+ | ====/app/Resources/ContaoCoreBundle/==== | ||
+ | |||
+ | =====/app/Resources/ContaoCoreBundle/views/===== | ||
+ | Hier kann man geänderte BE-Templates von Contao reinlegen. | ||
+ | |||
+ | Beispiel: | ||
+ | |||
+ | Error/service_unavailable.html.twig (Template für den Maintenance Mode. | ||
==contao-manager/== | ==contao-manager/== | ||
+ | |||
+ | Konfigurations-Verzeichnis des Contao Managers. | ||
===contao-manager/cache/=== | ===contao-manager/cache/=== | ||
+ | |||
+ | Cache-Verzeichnis des Contao Managers. | ||
===contao-manager/logs/=== | ===contao-manager/logs/=== | ||
+ | |||
+ | Log-Verzeichnis des Contao Managers. | ||
==system/== | ==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/=== | ||
− | ====system/config/initconfig.php==== | + | ====system/config/<span style="color:#800">initconfig.php</span>==== |
− | ====system/config/localconfig.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/<span style="color:#800">localconfig.php</span>==== | ||
+ | |||
+ | 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/== | ==files/== | ||
Zeile 70: | Zeile 177: | ||
==templates/== | ==templates/== | ||
− | Templates für die FE-Ausgabe. | + | Eigene Templates für die FE-Ausgabe. |
==var/== | ==var/== | ||
+ | Ablageverzeichnis der Anwendung für u.a. cache, logs etc. | ||
+ | |||
+ | ===var/cache/=== | ||
+ | |||
+ | ====var/cache/dev/==== | ||
+ | |||
+ | Cache für den app_dev.php Modus. | ||
+ | |||
+ | Löschen über die Kommandozeile: | ||
+ | <pre> | ||
+ | vendor/bin/contao-console cache:warmup --env=dev | ||
+ | </pre> | ||
+ | |||
+ | ====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". | ||
+ | |||
+ | Oder über die Kommandozeile: | ||
+ | <pre> | ||
+ | vendor/bin/contao-console cache:clear --no-warmup | ||
+ | vendor/bin/contao-console cache:warmup | ||
+ | |||
+ | oder | ||
+ | vendor/bin/contao-console cache:warmup --env=prod | ||
+ | </pre> | ||
==vendor/== | ==vendor/== | ||
+ | |||
+ | Composer Bibliotheksverzeichnis - hier wird der Code von Erweiterungen und Bundles abgelegt. | ||
+ | |||
+ | ===vendor/bin/=== | ||
+ | |||
+ | ====vendor/bin/<span style="color:#800">contao-console</span>==== | ||
+ | |||
+ | Diese Datei kann auf der Kommandozeile aufgerufen werden. | ||
+ | |||
+ | Beispiel: | ||
+ | <pre>php vendor/bin/contao-console cache:clear</pre> | ||
==web/== | ==web/== | ||
Auf diesen Ordner muss die Domain geroutet werden. | Auf diesen Ordner muss die Domain geroutet werden. | ||
+ | |||
+ | ===web/<span style="color:#800">.htaccess</span>=== | ||
+ | |||
+ | Apache Konfiguration um u.a. auf app.php zu redirecten. | ||
+ | |||
+ | ===web/<span style="color:#800">app.php</span>=== | ||
+ | |||
+ | Produktiver entrypoint der Anwendung aus dem Web. Entspricht in etwa "index.php" in Contao 3.5. | ||
+ | |||
+ | ===web/<span style="color:#800">app_dev.php</span>=== | ||
+ | |||
+ | 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. | ||
+ | <pre> | ||
+ | BE-Zugang: example.org/app_dev.php/contao | ||
+ | |||
+ | FE-Zugang: example.org/app_dev.php | ||
+ | </pre> | ||
===web/bundles/=== | ===web/bundles/=== | ||
+ | |||
+ | Hier werden alle assets von Bundles hineingelinkt um diese via web erreichbar zu machen. | ||
===web/system/=== | ===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: | ||
+ | |||
+ | <pre>vendor/contao/news-bundle/src/Resources/contao/dca/</pre> | ||
--[[Benutzer:Andreas|Andreas Burg]] ([[Benutzer Diskussion:Andreas|Diskussion]]) 18:19, 18. Okt. 2017 (CEST) | --[[Benutzer:Andreas|Andreas Burg]] ([[Benutzer Diskussion:Andreas|Diskussion]]) 18:19, 18. Okt. 2017 (CEST) | ||
+ | |||
+ | --[[Benutzer:Xtra|Xtra]] ([[Benutzer Diskussion:Xtra|Diskussion]]) 20:08, 18. Okt. 2017 (CEST) |
Aktuelle Version vom 6. Januar 2020, 20:12 Uhr
betrifft | |
---|---|
Contao Version | Contao 4 latest managed edition |
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.8 ff. dokumentiert werden, welche zum Verständnis und zur Anpassung des Systems relevant sind.
- assets/
- config/
- parameters.yml
- files/
- system/
- cache/
- config/
- localconfig.php
- logs/
- modules/
- themes/
- tmp/
- templates/
- var/
- cache/
- logs/
- vendor/
- web/
- assets/
- bundles/
- files/
- share/
- system/
- modules/
- themes/
- .htaccess
- app.php
- composer.json
- composer.lock
In der englischsprachigen Dokumentation (https://docs.contao.org/dev/getting-started/starting-development/#structure) finden sich weitere Hinweise.
Legende:
- Anwendung: Contao (Contao ist eine Symfony Anwendung). Hiermit ist die komplette Installation gemeint.
- BE: Backend
- FE: Frontend
- Kommandozeile: Auch Konsole oder bei Windows Eingabeaufforderung genannt. Dafür muss man sich über einen SSH Zugang zum Server verbinden. Bekannte Clients sind Putty und "Bitvise SSH Client".
Inhaltsverzeichnis
.htaccess
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/
Dieser Ordner verhält sich wie eine eigene Erweiterung bei Contao 3.5.
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.
/app/Resources/ContaoCoreBundle/
/app/Resources/ContaoCoreBundle/views/
Hier kann man geänderte BE-Templates von Contao reinlegen.
Beispiel:
Error/service_unavailable.html.twig (Template für den Maintenance Mode.
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/dev/
Cache für den app_dev.php Modus.
Löschen über die Kommandozeile:
vendor/bin/contao-console cache:warmup --env=dev
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".
Oder über die Kommandozeile:
vendor/bin/contao-console cache:clear --no-warmup vendor/bin/contao-console cache:warmup oder vendor/bin/contao-console cache:warmup --env=prod
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)