[TYPO3-german] tt_address eigenen marker zuweisen
Lorenz Ulrich
lorenz-typo3 at visol.ch
Thu Jun 16 23:46:34 CEST 2011
Hallo Elmar
Du kannst tt_address nicht mit reinem Typoscript erweitern. Du musst das
markerArray mittels eines Hooks um die neuen Felder erweitern.
In der Ext, mit der du die Felder erweitert hast, stellst du in die
ext_localconf.php den Hook-Aufruf:
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['tt_address']['extraItemMarkerHook'][]
='EXT:myextension/class.tx_myextension_filename.php:tx_myextension_classname';
Damit sagst du tt_address, dass es an der Stelle, bevor die gerenderten
Felder ausgegeben werden, noch die Klasse "tx_myextension_classname" im
File "class.tx_myextension_filename.php" aufrufen soll.
Nun brauchst du also so ein File mit so einer Klasse und der Funktion
extraItemMarkerProcessor. In diese kannst du dem $markerArray deine
neuen Felder füttern und dann das ganze MarkerArray zurückgeben:
function extraItemMarkerProcessor(&$markerArray, &$address, &$lConf,
&$pObj) {
$lcObj = t3lib_div::makeInstance('tslib_cObj');
$lcObj->data = $address;
$markerArray['###MYFIELD###'] =
$lcObj->stdWrap($address['myfieldlikeindatabase'],
$lConf['myfieldlikeindatabase.']);
}
Wenn du es wie oben beschrieben machst, sind deine Felder dann auch
stdWrap-enabled.
Falls du eine Extension brauchst, in der das implementiert ist, schreib'
mir eine Mail.
Falls du dir den Aufwand sparen willst, könntest du z.B. die Extension
"Browser" (Key: browser) verwenden, die jedes Feld einer Datenbank ohne
weitere Vorarbeiten ausspuken kann.
Oder, vielleicht noch besser: Die Extension "wt_directory", die auch per
default alle Felder der tt_address-Tabelle anzeigen kann.
Beste Grüsse,
Lorenz
Am 16.06.2011 14:38, schrieb Elno:
More information about the TYPO3-german
mailing list