Feature #33120

TCA Field Type 'select' -> renderMode 'tree' does not work

Added by Bernd Niehues over 1 year ago. Updated over 1 year ago.

Status:New Start date:2012-01-11
Priority:Must have Due date:
Assignee:- % Done:

0%

Category:iFrame editing
Target version:1.5.1
Votes: 1 (View)

Description

TCA Fields with such configuration won't be rendered.

'tcafield' => array(
'exclude' => 0,
'label' => 'Label of TCAField',
'config' => array(
'type' => 'select',
'renderMode' => 'tree',
'treeConfig' => array(
'parentField' => 'pid',
'rootUid' => 123,
'appearance' => array(
'expandAll' => TRUE,
'showHeader' => TRUE,
'nonSelectableLevels' => '0,1',
),
),
'MM' => 'reltable_mm',
'foreign_table' => 'pages',
'size' => 10,
'autoSizeMax' => 20,
'minitems' => 1,
'maxitems' => 20,
)
),

Maybe I can do it if you give me some hints where to start and what i have to respect etc.

Best regards,
Bernd

History

Updated by Steffen Gebert over 1 year ago

  • Subject changed from TCA Field Type 'select' -> renderMode 'tree' funktioniert nicht to TCA Field Type 'select' -> renderMode 'tree' does not work

Updated by Bernd Niehues over 1 year ago

Okay... i have done a little step now.

The Form-Element is visible now in frontend. I have made some modifications, which for sure are wrong there.

In t3lib/tceforms/class.t3lib_tceforms_tree.php at line 170ff (TYPO3 4.6.1) i have modified the following:

...

/** @var $pageRenderer t3lib_PageRenderer */
$pageRenderer = $GLOBALS['SOBE']->doc->getPageRenderer();
$pageRenderer->loadExtJs();

if (TYPO3_MODE === 'BE') {
$pageRenderer->addJsFile('../t3lib/js/extjs/tree/tree.js');
} else {
$pageRenderer->addJsFile('/t3lib/js/extjs/tree/tree.js');
$pageRenderer->addJsFile('/typo3/sysext/lang/res/js/be/typo3lang.js');
}

...

TYPO3.Components.Tree.StandardTree({
id: "' . $id . '",
showHeader: ' . intval($header) . ',
onChange: "' . $onChange . '",
countSelectedNodes: ' . count ($selectedNodes) . ',
listeners: {
click: function(node, event) {

...
expandnode: function(node) {
/* top.TYPO3.BackendUserSettings.ExtDirect.addToList("tcaTrees." + this.ucId, node.attributes.uid);
*/
}
...

Javascript is working with that. Hidden field is updated but the record won't be updated.

May someone help me with that?

Thanks in advance,
Bernd

Also available in: Atom PDF