Bug #67259
Updated by Markus Klein over 9 years ago
I am using <code>addToAllTCAtypes</code> to extend an field with a Palette like this:
<pre>
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes(
'tx_myext_entities',
'header;;pl_header;;',
'',
'replace:header'
);
</pre>
The types of the tx_myext_entities table looks like this:
<pre>
return array(
'ctrl' => array(
'title' => 'tx_myext_entities',
),
'interface' => array(
'showRecordFieldList' => 'header'
),
'columns' => array(
'header' => array (
'exclude' => 1,
'label' => 'Header',
'config' => array (
'type' => 'input',
'size' => '255',
)
)
),
'types' => array(
'0' => array('showitem' => 'header')
),
'palettes' => array (
'1' => array('showitem' => ''),
)
);
</pre>
With TYPO3 6.2.11 and before i get the folowing result after the <code>addToAllTCAtypes</code> call:
<pre>
return array(
'ctrl' => array(
'title' => 'tx_myext_entities',
),
'interface' => array(
'showRecordFieldList' => 'header'
),
'columns' => array(
'header' => array (
'exclude' => 1,
'label' => 'Header',
'config' => array (
'type' => 'input',
'size' => '255',
)
)
),
'types' => array(
'0' => array('showitem' => 'header;;pl_header;;')
),
'palettes' => array (
'1' => array('showitem' => ''),
)
);
</pre>
That is what I want!
Since TYPO3 6.2.12 the header field was not replaced anymore.
The remaining calls to add the palette and te new columns i have omitted the sake of clarity.
I have found out, that the <code>removeDuplicatesForInsertion</code> method is the cause. This Method removes all duplicates, but ignores the insert position "replace", so a replace of an field is not possible.
This error exists since the fix in #65480 wit the following commit:
<pre>
[BUGFIX] Compare field names without configuration
With patch https://review.typo3.org/34019/ the function
ExtensionManagementUtility::removeDuplicatesForInsertion was rewritten.
But the rewrite fails for fields with additional configuration and
returns wrong field information.
Resolves: #65480
Releases: master, 6.2
Change-Id: I9aa35cd7ef5142e7b57489bf6e19a78811b8c335
Reviewed-on: http://review.typo3.org/38528
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
Reviewed-by: Xavier Perseguers <xavier@typo3.org>
Tested-by: Xavier Perseguers <xavier@typo3.org>
Reviewed-on: http://review.typo3.org/38610
</pre>