TYPO3 Ext. gridelements: удалить поле из FlexForm
С помощью TCEFORM на странице TS вы можете удалить поле FlexForm из плагина расширения, например из EXT:news:
TCEFORM.tt_content.pi_flexform.news_pi1.additional.settings\.detailPid.disabled = 1
Пример выше работает, но как я могу удалить поле из gridlements FlexForm?
Это не работает:
TCEFORM.tt_content.pi_flexform.gridelements_pi1.mySheet.myField.disabled = 1
Более подробно:
Я использую EXT:bootstrap_grids, который предоставляет FlexForm "flexform_2col.xml". Из этой FlexForm я хочу отключить вкладку "largeDevices" с полями "lgCol1" и "lgCol2":
<T3DataStructure>
<sheets>
[...]
<largeDevices>
<ROOT type="array">
<TCEforms>
<sheetTitle>LLL:EXT:bootstrap_grids/Resources/Private/Language/locallang_db.xlf:grid.sheet.largeDevices</sheetTitle>
</TCEforms>
<type>array</type>
<el type="array">
<lgCol1 type="array">
<TCEforms type="array">
<label>LLL:EXT:bootstrap_grids/Resources/Private/Language/locallang_db.xlf:grid.label.col1</label>
<config type="array">
<type>select</type>
<renderType>selectSingle</renderType>
<itemsProcFunc>Laxap\BootstrapGrids\Controller\FlexFormController->getTwoColumnOptions</itemsProcFunc>
</config>
</TCEforms>
</lgCol1>
<lgCol2 type="array">
<TCEforms type="array">
<label>LLL:EXT:bootstrap_grids/Resources/Private/Language/locallang_db.xlf:grid.label.col2</label>
<config type="array">
<type>select</type>
<renderType>selectSingle</renderType>
<itemsProcFunc>Laxap\BootstrapGrids\Controller\FlexFormController->getTwoColumnOptions</itemsProcFunc>
</config>
</TCEforms>
</lgCol2>
</el>
</ROOT>
</largeDevices>
Но, похоже, EXT:gridelements обрабатывает FlexForm каким-то другим способом, поэтому его нельзя манипулировать с помощью TCEFORM, это не работает:
TCEFORM.tt_content.pi_flexform.gridelements_pi1.largeDevices.lgCol1.disabled = 1
1 ответ
Ключ "gridelements_pi1" неверен. Это может быть либо значение «по умолчанию», влияющее на все типы макетов элементов сетки, либо конкретный тип, который вы определили.
Так что это будет работать для примера из вопроса:
TCEFORM.tt_content.pi_flexform.default.largeDevices.lgCol1.disabled = 1