AJAX & TYPO3 – blitzblank und performant!

Liebe Entwicklergemeinde mit gutem Geschmack,
Habt Ihr auch schon immer nach einem sauberen Weg gesucht, einen AJAX-Request aus Eurem Frontend-Plugin abzusetzen, ohne dafür den kompletten, rechenintensiven Rendering-Prozess des CMS anzustossen?
Das einfache, aber geniale eID-Feature von TYPO3 ist des Entwicklers Freund!
Hinter „eID“ verbirgt sich nichts anderes als ein frühestmöglicher Austiegspunkt aus der index.php, bevor der ganze Ballast geladen wird, der den AJAX-Request erheblich verlangsamen würde: Bei einer Autocomplete-Suche z.B. wären langsame Antwortzeiten nicht besonders dankbar – wenn nicht undenkbar.

Lange Rede – kurzer Sinn, hier ist die Schritt-für-Schritt-Anleitung:

1.)In der ext_localconf.php Eures Plugins fügt Ihr folgende Zeile ein:
$TYPO3_CONF_VARS['FE']['eID_include']['vergebt_einen_namen'] = 'EXT:extensionname/pi1/ajaxrequestscript.php';

Natürlich solltet Ihr Euch für „vergebt_einen_namen“, „extensionname“ und „ajaxrequestscript“ Eure eigenen Bezeichnungen adaptieren.

2.)Legt nun das „ajaxrequestscript“ an, das ausser den PHP-Opening und -Closing-Tags folgenden Inhalt haben sollte:


// Exit, if script is called directly (must be included via eID in index_ts.php)
if (!defined ('PATH_typo3conf')) die ('Could not access this script directly!');

// Initialize FE user object:
// $feUserObj = tslib_eidtools::initFeUser();

// Connect to database:
tslib_eidtools::connectDB();
// example: you can use TYPO3 DB methods here
$select = '';
$from = ''
$where = '';
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery($select,$from,$where);
$content .= 'Das kommt zurück';
header('Content-Type: application/xhtml+xml; charset=UTF-8');
print $content;

3.) Beim Aufruf des Scripts übergebt den Parameter eID=vergebt_einen_namen

Es ist wirklich so einfach. Was Ihr natürlich jetzt damit macht, bleibt Euch überlassen 😉
Ich werde in einer Fortsetzung dieses Beitrags beschreiben, wie man mit Scriptaculous & eID eine autocomplete Suche realisieren kann, die wirklich performant mit einer grossen Anzahl an Datensätzen umgehen kann – Ihr dürft also gespannt sein.

Veröffentlicht unter TYPO3 Technik
2 Kommentare auf “AJAX & TYPO3 – blitzblank und performant!
  1. mistario sagt:

    Hi Ben, vielen Dank für den interessanter Beitrag! Wann kommt die angekündigte Fortsetzung einer autocomplete Suche mit Scriptaculous und t3? =)
    Michael

  2. mistario sagt:

    … hat sich erledigt. Mit der Info, die man auf http://www.galileocomputing.de/openbook/javascript_ajax/33_bibliotheken_002.htm findet, ist alles klar 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*