[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