schachbulle / contao-templateparser-bundle
Ersetzt Inhalte in der fertigen Seite, kurz bevor sie an den Browser ausgeliefert wird.
Package info
github.com/Samson1964/contao-templateparser-bundle
Type:contao-bundle
pkg:composer/schachbulle/contao-templateparser-bundle
Requires
- php: ^8.1
- contao/core-bundle: ^4.13 || ^5.0
- menatwork/contao-multicolumnwizard-bundle: ^3.6
Requires (Dev)
- contao/manager-plugin: ^2.0
Suggests
None
Provides
None
Conflicts
- contao/core: *
- contao/manager-plugin: <2.0 || >=3.0
Replaces
None
README
Mit dieser Erweiterung können Sie vor der Auslieferung an den Browser Inhalte ersetzen.
Voraussetzungen
- PHP 8.1 oder neuer (geprüft bis PHP 8.4)
- Contao 4.13 LTS oder Contao 5
- MultiColumnWizard (wird als Abhängigkeit mitinstalliert)
Anleitung
Die Einstellungen für die Ersetzungen nehmen Sie unter System -> Einstellungen vor:
Die Beispielkonfiguration in der Grafik zeigt sechs aktive Ersetzungen. Sie können beliebig viele Ersetzungen vornehmen und diese ggfs. deaktivieren ohne sie löschen zu müssen.
Die Ersetzung greift im Hook outputFrontendTemplate, also nachdem das Template
fertig geparst ist und unmittelbar bevor die Seite an den Browser geht. Damit
lässt sich auch Markup ändern, das aus fremden Erweiterungen stammt.
Zeilen ohne Suchbegriff und Zeilen ohne Häkchen bei „Aktiv" werden übergangen. Ein leeres Feld „Ersetzen durch" entfernt die Fundstelle.
Prüfstände
Im Verzeichnis tests/ liegen zwei eigenständige Skripte, die ohne PHPUnit
auskommen:
php tests/pruefstand-parser.php
prüft die Ersetzungslogik gegen Randfälle (nie gespeicherte Einstellung, beschädigter Wert, fehlende Spalten, Umlaute) und meldet jede Warnung von PHP.
php tests/pruefstand-container.php /pfad/zur/contao-installation
baut einen Symfony-Container gegen die Vendor-Verzeichnisse einer echten Contao-Installation und weist nach, dass der Hook dort tatsächlich registriert wird. Das Skript einmal gegen eine Contao-4.13- und einmal gegen eine Contao-5-Installation laufen lassen.
Frank Hoppe
