Hallo,
kann ich innerhalb von PHP-Templates die in /templates liegen kein include 'file.php'; machen? Bzw. gibt es einen anderen Weg?
Ich habe ein, zwei Funktionen die ich gerne in eine helpers.php auslagern würde.
Druckbare Version
Hallo,
kann ich innerhalb von PHP-Templates die in /templates liegen kein include 'file.php'; machen? Bzw. gibt es einen anderen Weg?
Ich habe ein, zwei Funktionen die ich gerne in eine helpers.php auslagern würde.
Schreib dir einen Helper Service und hole dir diesen Helper Service im Template. Oder füge dem Template über den parseTemplate Hook die Hilfsfunktionen zusätzlich hinzu (viele Wege führen nach Rom).
Wo genau geht das denn Updatesicher?
Ich bin noch auf das hier gestoßen: https://community.contao.org/de/show...-in-Contao-4-9 aber wird das innerhalb eines eigenen Moduls gemacht?
Ein Beispiel für einen parseTemplate Hook findest du in der Dokumenation: https://docs.contao.org/dev/referenc...parseTemplate/
das hat jetzt soweit geklappt, danke.
Ich kann aber ja nur innerhalb des Templates darauf zugreifen. Wenn ich jetzt ein PHP File über einen Insert-Tag einbinde, kann ich in dieser Datei nicht darauf zugreifen.
PHP Files über Insert Tags einbinden solltest du auch tunlichst vermeiden ;). Aber wenn du das unbedingt machen willst, würde ich auch hier empfehlen einen Service zu bauen, der die benötigten Funktionalitäten implementiert und den Service auf public: true zu setzen, damit du ihn über System::getContainer()->get() von überall in Contao holen kannst.
Ja, das stimmt wohl.
Mit dem Service läuft es super. Ich fand die Doku schwer zu verstehen. Ich bin darüber gestolpert, dass man in der config.yml die services.yml importieren muss.
Danke.
Nur in Contao 4.4. In den aktuellen Contao Versionen musst du das nicht mehr. Siehe auch https://docs.contao.org/dev/getting-...-configuration