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。