Contao Ajax Schnittstelle
Kapitel 24
Das F Modul unterstützt eine Ajax Schnittstelle für alle Entwickler, die mehr aus Ihren Modulen herausholen wollen. Diese Dokumentation ist an Entwickler gerichtet. Die F Modul Ajax Api befindet sich noch im Aufbau. Bisher nur auf Contao 3.5.6 getestet.
Erstmal das F Modul bietet kein Ajax Modul an, dass bedeutet wir müssen auf bestehende Module zurückgreifen. Ich habe mich für Simple Ajax entschieden. Damit können wir ganz einfach die F Modul Ajax Api ansprechen und steuern.
Simple Ajax verwenden
Wir laden Simple Ajax herunter, entpacken die .zip Datei, gehen in den TL_ROOT Ordner und verschieben die SimpleAjax.php in unser Root Verzeichnis (Projekt).
Als nächstes gehen wir zu system/modules und erstellen ein neuen Ordner: my_ajax_module (Name Freiwählbar). Im my_ajax_module Ordner erstellen wir ein Ordner mit der Bezeichnung: config und legen dort die config.php ab. In die config.php tragen wir unseren Hook ein:
$GLOBALS['TL_HOOKS']['simpleAjax'][] = array('AjaxApi', 'getAjaxResponse');
Damit haben wir ein Ajax Modul für Contao implementiert.
F Modul Api Steuern
Wir können jetzt die F Modul AjaxApi über die GET Parameter steuern. Dazu rufen wir die SimpleAjax.php auf: http://www.meineDomain.dev/SimpleAjax.php.
Die einzelnen Methoden können wir über den do Parameter steuern:
http://www.meineDomain.dev/SimpleAjax.php?do=getEntities
Mögliche do - Parameter
- getEntities
- getDetail
- getAutoCompletion
Ajax Listenansicht
Die getEntities Methode liefert uns die Listenansicht aller Datensätze.
Erlaubte GET Parameter:
- tablenameDer Tabellenname des Backend Modul's. z.B fm_referenzen. Das ist ein Pflichtfeld.
- wrapperID Die Wrapper ID in dem sich die Datensätze befinden. Die kann man über das "i" Symbol im Contao Backend herausfinden. Das ist ein Pflichtfeld.
- dateFormatWenn kein Datumsformat definiert ist, wird das Datumsformat aus den Einstellungen genommen. Der Datums- und Zeitformat-String wird mit der PHP-Funktion date() geparst.
- timeFormatWenn kein Zeitformat definiert ist, wird ein Zeitformat aus den Einstellungen genommen. Der Datums- und Zeitformat-String wird mit der PHP-Funktion date() geparst.
- templateHier kann optional ein Template übergeben werden. Standard template: fmodule_teaser.
- perPageDie Anzahl an Elementen pro Seite.
- pageWenn Sie einen perPage Wert definiert haben, können Sie sich durch die Seite navigieren (Pagination).
- orderByHier können Sie die Reihenfolge festlegen. Es stehen zur Auswahl: DESC, ASC, RAND. Standard: DESC.
- sorting_fieldsHier können Sie Felder für die Sortierung definieren. Standard Feld: id.
Anwendungsbeispiel:
http://www.meineDomain.dev/SimpleAjax.php?do=getEntities&tablename=fm_meinemodul&wrapperID=1
Ajax Detailseite
Die getDetail Methode liefert uns die Detailansicht eines Datensatzes.
Erlaubte GET Parameter:
- tablenameDer Tabellenname des Backend Modul's. z.B fm_referenzen. Das ist ein Pflichtfeld.
- wrapperID Die Wrapper ID in dem sich die Datensätze befinden. Die kann man über das "i" Symbol im Contao Backend herausfinden. Das ist ein Pflichtfeld.
- idDie ID des Datensatzes. Wenn keine ID definiert ist, wird nachdem Alias gesucht.Das ist ein Pflichtfeld.
- aliasDer Alias des Datensatzes. Wenn kein Alias definiert ist, wird nach der ID gesucht.
- dateFormatWenn kein Datumsformat definiert ist, wird das Datumsformat aus den Einstellungen genommen. Der Datums- und Zeitformat-String wird mit der PHP-Funktion date() geparst.
- timeFormatWenn kein Zeitformat definiert ist, wird ein Zeitformat aus den Einstellungen genommen. Der Datums- und Zeitformat-String wird mit der PHP-Funktion date() geparst.
- templateHier kann optional ein Template übergeben werden. Standard template: fmodule_teaser.
Anwendungsbeispiel:
http://www.meineDomain.dev/SimpleAjax.php?do=getDetail&tablename=fm_meinemodul&wrapperID=1&id=1
Ajax Autovervollständigung
Die getAutoCompletion Methode liefert uns Suchvorschläge aus einem bestimmten Feld.
Erlaubte GET Parameter:
- tablenameDer Tabellenname des Backend Modul's. z.B fm_referenzen. Das ist ein Pflichtfeld.
- wrapperID Die Wrapper ID in dem sich die Datensätze befinden. Die kann man über das "i" Symbol im Contao Backend herausfinden. Das ist ein Pflichtfeld.
- fieldIDDer Feldname aus dem die Suchvorschläge erstellt werden sollen. Das ist ein Pflichtfeld.
- dateFormatWenn kein Datumsformat definiert ist, wird das Datumsformat aus den Einstellungen genommen. Der Datums- und Zeitformat-String wird mit der PHP-Funktion date() geparst.
- timeFormatWenn kein Zeitformat definiert ist, wird ein Zeitformat aus den Einstellungen genommen. Der Datums- und Zeitformat-String wird mit der PHP-Funktion date() geparst.
Unterstützte Feldtypen: Textfeld, Volltextsuche, Einfache/Mehrfache Auswahl, Datum.
Anwendungsbeispiel:
http://www.meineDomain.dev/SimpleAjax.php?do=getAutoCompletion&tablename=fm_meinemodul&wrapperID=1&fieldID=suche