Typo3 从6.2更新到7.6后,TCA中仍然存在错误吗?
我已经从TYPO3 CMS 6.2升级到TYPO3 CMS 7.6.16。在TCA中的其他扩展tx_News和第三方ext.和出现一些问题之后。导入实时转储后一切正常 升级向导/数据库比较 更新参考索引 刷新缓存和空的typo3temp 停用并重新激活有问题的扩展 一切?不幸的是,没有。扩展不起作用。我不是自己写扩展名的。如果我尝试使用此ext在后端添加新的数据记录,我将得到以下错误:Typo3 从6.2更新到7.6后,TCA中仍然存在错误吗?,typo3,upgrade,Typo3,Upgrade,我已经从TYPO3 CMS 6.2升级到TYPO3 CMS 7.6.16。在TCA中的其他扩展tx_News和第三方ext.和出现一些问题之后。导入实时转储后一切正常 升级向导/数据库比较 更新参考索引 刷新缓存和空的typo3temp 停用并重新激活有问题的扩展 一切?不幸的是,没有。扩展不起作用。我不是自己写扩展名的。如果我尝试使用此ext在后端添加新的数据记录,我将得到以下错误: An item in field form of table tx_blah_domain_model_job
An item in field form of table tx_blah_domain_model_job is not an array as expected
但是数据库已经完成了。所有的桌子都对吗
问题出在哪里?我知道没有源代码很难分析这个。数据库字段有误,但为什么?和以前一样是同一个数据库
错在哪里。。是ext_tables.php还是TCA中的sth.出错了?我真的需要小费。。真令人沮丧
编辑:系统日志条目
Core: Exception handler (WEB): Uncaught TYPO3 Exception: #1439288036: An item in field form of table tx_blah_domain_model_job is not an array as expected | UnexpectedValueException thrown in file /typo3_src/typo3_src-7.6.16/typo3/sysext/backend/Classes/Form/FormDataProvider/AbstractItemProvider.php in line 1264.
编辑2:我想,在typo3conf/ext/blah/Configuration/TCA/tx_-blah_-domain_-model_-job.php中肯定有什么
看
这是第1264行
/**
* Sanitize incoming item array
*
* Used by TcaSelectItems and TcaSelectTreeItems data providers
*
* @param mixed $itemArray
* @param string $tableName
* @param string $fieldName
* @throws \UnexpectedValueException
* @return array
*/
public function sanitizeItemArray($itemArray, $tableName, $fieldName)
{
if (!is_array($itemArray)) {
$itemArray = [];
}
foreach ($itemArray as $item) {
if (!is_array($item)) {
throw new \UnexpectedValueException(
'An item in field ' . $fieldName . ' of table ' . $tableName . ' is not an array as expected',
1439288036
);
}
}
return $itemArray;
}
aTry在TCA tx_imappoints_domain_model_job.php中使用它
'form' => array(
'exclude' => 1,
'label' => 'LLL:EXT:im_appointments/Resources/Private/Language/locallang_db.xlf:tx_imappointments_domain_model_job.form',
'config' => array(
'type' => 'select',
'renderType' => 'selectSingle',
'items' => array(array('', 0)),
'foreign_table' => 'pages',
'foreign_table_where' => ' AND pages.pid = 293',
'minitems' => 0,
'maxitems' => 1,
),
),
“form”中的“items”必须是一个数组,错误消息是如何显示的:
请检查错误日志,了解更高级的错误,包括错误跟踪,好吗?我想这有助于找出TCA中错误配置的来源。嗨,保罗。我会在晚上更新我的帖子,因为我现在正在路上。。。。谢谢你的评论。我已经编辑了我的帖子并添加了sys_日志错误和核心typo3/sysext/backend/Classes/Form/FormDataProvider/AbstractItemProvider.php中的文件-好的,问题出在TCA中。我想我已经修复了所有TCA错误。。。嗯?我已经发布了TCA文件中的源代码:Hi Heinz。谢谢你的建议。我想,我明白了。那是……”项目'=>arrayarray,0。。。而不是项“=>数组。。之前非常感谢你!你是对的。如果你愿意接受我的答案作为正确答案,我已经确定了答案。