TCA(柔性形式)多 select
TCA (flexform) multi select
我正在开发一个插件,我想要 select 特定的记录。为此,我创建了一个带有 TCA select 配置的 flexform:
<T3DataStructure>
<meta>
<langDisable>1</langDisable>
</meta>
<sheets>
<sDEF>
<ROOT>
<TCEforms>
<sheetTitle>TEST</sheetTitle>
</TCEforms>
<type>array</type>
<el>
<settings.selection>
<TCEforms>
<exclude>1</exclude>
<label>Selection</label>
<config>
<type>select</type>
<foreign_table>tx_mycollection_domain_model_mycollection</foreign_table>
<renderType>selectCheckBox</renderType>
<size>5</size>
<minItems>3</minItems>
<maxItems>999</maxItems>
<foreign_table_where>AND tx_mycollection_domain_model_mycollection.sys_language_uid=###REC_FIELD_sys_language_uid###</foreign_table_where>
</config>
</TCEforms>
</settings.selection>
</el>
</ROOT>
</sDEF>
</sheets>
</T3DataStructure>
看起来不错,在后端我有 select 记录的复选框。但是当我保存插件时,只有第一个复选框是 checked/saved.
是配置有问题还是无法保存多值的原因是什么?
<minItems>3</minItems>
<maxItems>999</maxItems>
来自此处的文档:
https://docs.typo3.org/typo3cms/TCAReference/Reference/Columns/Select/Index.html#properties
这些需要全部指定为小写,因此将它们更改为:
<minitems>3</minitems>
<maxitems>999</maxitems>
应该可以解决您的问题。它现在只保存 1,因为 maxitems 默认设置为 1。
我正在开发一个插件,我想要 select 特定的记录。为此,我创建了一个带有 TCA select 配置的 flexform:
<T3DataStructure>
<meta>
<langDisable>1</langDisable>
</meta>
<sheets>
<sDEF>
<ROOT>
<TCEforms>
<sheetTitle>TEST</sheetTitle>
</TCEforms>
<type>array</type>
<el>
<settings.selection>
<TCEforms>
<exclude>1</exclude>
<label>Selection</label>
<config>
<type>select</type>
<foreign_table>tx_mycollection_domain_model_mycollection</foreign_table>
<renderType>selectCheckBox</renderType>
<size>5</size>
<minItems>3</minItems>
<maxItems>999</maxItems>
<foreign_table_where>AND tx_mycollection_domain_model_mycollection.sys_language_uid=###REC_FIELD_sys_language_uid###</foreign_table_where>
</config>
</TCEforms>
</settings.selection>
</el>
</ROOT>
</sDEF>
</sheets>
</T3DataStructure>
看起来不错,在后端我有 select 记录的复选框。但是当我保存插件时,只有第一个复选框是 checked/saved.
是配置有问题还是无法保存多值的原因是什么?
<minItems>3</minItems>
<maxItems>999</maxItems>
来自此处的文档: https://docs.typo3.org/typo3cms/TCAReference/Reference/Columns/Select/Index.html#properties
这些需要全部指定为小写,因此将它们更改为:
<minitems>3</minitems>
<maxitems>999</maxitems>
应该可以解决您的问题。它现在只保存 1,因为 maxitems 默认设置为 1。