Ich bin neu in der Modulentwicklung für Contao und bitte deshalb schonmal vorab für ggf. dumme Fragen.
Nach dem Einstieg über "screencast" habe ich mich nun an ein eigenes Modul gewagt und scheitere nun an der dynamischen Einbindung unterschiedlicher Templates für verschiedene Zwecke.
Mit andern Worten: ich weis nicht, wie ich im PHP-Code einer Klasse ein dynamisch ausgewähltes Template einbinden kann.
Ich versuche nochmal ein bisschen zu visualisieren:
Es geht um eine Vakanzsuche nach freien Zimmern.
Das Vorfeld (Formular, Suchfunktionen und Aufbau der Objektstruktur für die Ergebnisse) funktioniert bereits.
Aus den Ergebnissen aus der Datenbank wird die Struktur gem. folgendem vereinfachten Muster erstellt (die Struktur ist objektorientiert
aufgebaut, KLassen: Haus, Zimmer, Bilder etc.):
Ich habe in allen Klassen eine Methode: getOutput definiert, diese soll, wo nötig, die Daten anpassen und dann ein zu diesem Objekt passendes HTML-Template laden und ausgeben und da scheitere ich.
Die Templates (12 Stck.) habe ich in einem Ordner templates abgelegt und über die autoload.php registriert.
Mein Problem ist nun die Einbindung aus dem blanken PHP-Code, "include / require" wird ja in Contao nicht unterstützt,
dann habe ich noch folgende Funktionen ohne Erfolg probiert:
- echo '{{file::haus.tpl}}' damit wird das Template zwar eingebunden, soviel ich verstanden habe aber erst beim Client und damit habe ich aus dem Template keinen Zugriff mehr auf die Daten.
- $this->insert('haus') klappt nicht: Call to undefined method insert()
Ich hoffe, man kann so halbwegs verstehen was ich meine ... ich bräuchte irgendeine alternative Funktion zu include, mit der ich bereits am Server eine Template-Datei einbinden kann.
Uff, hoffentlich liest das jemand - ich bin sicher, dass ich irgendwas grundlegendes übersehe, aber nach wirklich reichlicher Suche und Dokurecherche komme ich einfach nicht weiter.
Vielleicht kann mir jemand den entscheidenden Schups geben ...
Vielen Dank für alle Tips
Lesezeichen