键入带项目的3 Flexform单选按钮ProcFunc



我在typep3中有一个扩展。我想用项目进行单选按钮选择ProcFunc:

<radField>
<label>Radiobuttons</label>
<config>
<type>radio</type>
<itemsProcFunc>CMParserUserFuncFlexFormUserFunc->getNames</itemsProcFunc>
</config>
</radField>

不幸的是,我收到以下错误消息:

Item itemsProcFunc of field radField of TCA table tt_content is no array as exepcted

我也试过用一个选择框:

<dynField>
<TCEforms>
<label>dynamic content</label>
<config>
<type>select</type>
<renderType>selectSingle</renderType>
<itemsProcFunc>CMParserUserFuncFlexFormUserFunc->getNames</itemsProcFunc>
</config>
</TCEforms>
</dynField>

选择框起作用了,但我得到了第一个条目[无效值],无法从下拉列表中删除。但是,如果我使用

<renderType>selectCheckBox</renderType> 

相反,我没有得到无效的值,但我可以选择多个我不想选择的选项。

它后面的php文件如下所示:

class FlexFormUserFunc {
function getNames($config) {
$fileList = array();
$i=0;
$pathParts = "";
foreach(glob(__DIR__ . "/formatClasses/*.php") as $fileName) {
$pathParts = pathinfo($fileName);
$fileList[$i] = array( 0 => $pathParts['filename'], 1 => $pathParts['basename'] );
$i++;
}
$config['items'] = array_merge($config['items'],$fileList);
return $config;
}
}

谢谢你的帮助。

我找到了这个问题的有效解决方案。一个可能的柔性表单是这样的(我忘记了项目数组标签(:

<radField>
<TCEforms>
<label>Radiobuttons</label>
<config>
<type>radio</type>
<itemsProcFunc>CMParserUserFuncFlexFormUserFunc->getNames</itemsProcFunc>
<items type="array">
</items>
</config>
</TCEforms>
</radField>

相关内容

  • 没有找到相关文章

最新更新