Wenn man mit Deploymentmethode wie z.B. Deployer und DDEV arbeitet, will man ohne große Änderungen das Dev-System auf Staging und Live pushen. Das geht am einfachsten mit dem Kontext in TYPO3
1. Kontext als Environment Variable
Wenn eine Seite in den verschiedenen Kontext-Varianten arbeiten soll, kann man entweder bei einem Deployer-Projekt die .env Datei im Root-Verzeichnis des TYPO3 Systems anlegen oder via .htaccess. Da nicht jeder einen vollständigen Workflow mit Deployer hat, ist dieses Tutorial für den zweiten Weg gemacht.
Mit dieser Zeile, ganz unten in der .htaccess können wir das Environment ändern:
SetEnv TYPO3_CONTEXT Testing
Der Name dieser Variable ist wichtig, weil es sich um den "Application Context" in TYPO3 selbst handelt. Der Wert der Variable ist egal.
Auf einer Entwicklungsumgebung könnte der Wert "Developement" sein, auf dem Testsystem (Staging System) könnte der Wert "Staging" oder "Testing" sein und auf dem Live-Server könnte der Wert "Production" oder einfach "Live" sein.
2. Den Kontext bei der Site-Configuration nutzen
Nun kann der gesetzte Kontext in der Site-Configuration genutzt werden. Man geht jetzt einfach in die gewünschte Konfiguration rein und fügt Varianten hinzu. Diese kann man wie folgt pflegen:
3. Den Context in der settings.php / additional.php nutzen
Wenn der Kontext gesetzt ist, kann man auch direkt via PHP mit dem Kontext arbeiten, um z.B. verschiedene Datenbank Zugangsdaten zu definieren:
if (getenv('TYPO3_CONTEXT') == 'Testing') {
$GLOBALS['TYPO3_CONF_VARS'] = array_replace_recursive(
$GLOBALS['TYPO3_CONF_VARS'], [
'DB' => [
....
],
]
);
}