Mit der TYPO3-Version 4.5 gibt es nun endlich die einfache Möglichkeit, aus Datensätzen einen Baum zu generieren. Bisherige Vorgehensweisen waren entweder komplex oder fehleranfällig.
Die Erstellung eines Baumes ist relativ komplex und bis jetzt hat es keine wirklich zufriedenstellende Lösung gegeben (zumindest für mich). Daher umso schöner, dass nun der Core eine solche Möglichkeit bereithält. Gleich vorweg ein Beispiel
'category' => array( 'exclude' => 0, 'l10n_mode' => 'mergeIfNotBlank', 'label' => $ll . 'tx_news2_domain_model_news.category', 'config' => array( 'type' => 'select', 'renderMode' => 'tree', 'treeConfig' => array( 'parentField' => 'parentcategory', 'appearance' => array( 'expandAll' => TRUE, 'showHeader' => TRUE, ), ), 'MM' => 'tx_news2_domain_model_news_category_mm', 'foreign_table' => 'tx_news2_domain_model_category', 'size' => 10, 'autoSizeMax' => 20, 'minitems' => 0, 'maxitems' => 20, ) ),
Der interessante Bereich beginnt mit renderMode => tree und der Konfiguration innerhalb des arrays treeConfig. Die wichtigste Einstellung hierbei ist das Feld „parentField“, mit dem die Baumhierarchie hergestellt wird. Eine Alternative besteht mit dem Feld „childrenField“. Mit „rootUid“ kann ein Ausgangspunkt gesetzt werden.
Für mehr Informationen kann man sich den Code innerhalb von t3lib/tca/tree zu Gemüte führen oder auf eine Aktualisierung der Coredocs warten. Zum Abschluss sei erwähnt: Das Feature ist noch nicht ganz zu 100% fertig, so funktioniert der Baum noch nicht ganz innerhalb von Flexforms, aber das wird noch alles werden,