У меня есть расширение в typo3. Я хочу сделать выбор радиокнопок с помощью itemsProcFun c:
<radField>
<label>Radiobuttons</label>
<config>
<type>radio</type>
<itemsProcFunc>CM\Parser\UserFunc\FlexFormUserFunc->getNames</itemsProcFunc>
</config>
</radField>
К сожалению, я получаю следующее сообщение об ошибке:
Item itemsProcFunc of field radField of TCA table tt_content is no array as exepcted
Я пробовал также с выбором box:
<dynField>
<TCEforms>
<label>dynamic content</label>
<config>
<type>select</type>
<renderType>selectSingle</renderType>
<itemsProcFunc>CM\Parser\UserFunc\FlexFormUserFunc->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;
}
}
Спасибо за любую помощь.