Wieder mal was neues gelernt. Wie verhindere ich in TYPO3 bei einem MM-Datenfeld der eigenen Extension, den Verweis auf sich selbst?
Hat in meinem Fall dazu geführt, dass ich eine ungewollte Rekursion ausgelöst habe.
Im Konfigurations-Array der tca.php Datei können einige Marker verwendet werden, die schon grundsätzlich einige Parameter des jeweiligen Datensatzes identifizieren. Die meisten kennen den Parameter ###CURRENT_PID###. Folgende Auflistung zeigt, welche Marker noch möglich sind.
Quelle: typo3/t3lib/class.t3lib_befunc.php
$fTWHERE = str_replace('###CURRENT_PID###', $fTWHERE = str_replace('###THIS_UID###', $fTWHERE = str_replace('###THIS_CID###', $fTWHERE = str_replace('###STORAGE_PID###', $fTWHERE = str_replace('###SITEROOT###', $fTWHERE = str_replace('###PAGE_TSCONFIG_ID###', $fTWHERE = str_replace('###PAGE_TSCONFIG_IDLIST###', $fTWHERE = str_replace('###PAGE_TSCONFIG_STR###',
Als Ergebnis ergibt sich somit:
'parent_group' => array ( 'exclude' => 0, 'label' => 'LLL:EXT:ext/locallang_db.xml:tx_ext.parent_group', 'config' => array ( 'type' => 'select', 'foreign_table' => 'tx_ext_groups', 'foreign_table_where' => 'AND tx_ext_groups.uid<>###THIS_UID###', 'size' => 5, 'minitems' => 0, 'maxitems' => 100, ) ),