TCA(flexform)多选

时间:2016-05-17 16:05:38

标签: typo3 typo3-7.6.x

我在扩展和插件工作,我想选择特定的记录。为此我创建了一个带有TCA选择配置的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>

看起来很好,在后端我有复选框来选择记录。但是当我保存插件时,只检查/保存第一个复选框。

配置中是否有问题,或者我无法保存多值的原因是什么?

1 个答案:

答案 0 :(得分:3)

<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。