Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typo3 类型3.8.7.10:“;未知列';sys_file_reference.uid_local:type';在';其中第'条&引用;在具有文件类型属性的新扩展名中_Typo3_Typo3 8.x_Typo3 Extensions_Extension Builder3 - Fatal编程技术网

Typo3 类型3.8.7.10:“;未知列';sys_file_reference.uid_local:type';在';其中第'条&引用;在具有文件类型属性的新扩展名中

Typo3 类型3.8.7.10:“;未知列';sys_file_reference.uid_local:type';在';其中第'条&引用;在具有文件类型属性的新扩展名中,typo3,typo3-8.x,typo3-extensions,extension-builder3,Typo3,Typo3 8.x,Typo3 Extensions,Extension Builder3,大家好 在一个新的TYPO3 8.7.10站点中,我刚刚使用extension Builder创建了一个新的扩展。在该扩展中,有一个模型对象(“家具族”)具有文件类型属性(我称之为“符号”)。我的扩展还有一个插件,它显示所有家具族的列表。我用我的插件创建了一个家具族和一个新页面 扩展生成器中的新模型对象 问题是,我没有显示包含唯一记录的列表,而是出现以下错误: 哎呀,发生了一个错误!代码:20180219055419589a6076 借助fh_调试扩展,我可以获得有关错误的更多信息: 哎呀,发

大家好

在一个新的TYPO3 8.7.10站点中,我刚刚使用extension Builder创建了一个新的扩展。在该扩展中,有一个模型对象(“家具族”)具有文件类型属性(我称之为“符号”)。我的扩展还有一个插件,它显示所有家具族的列表。我用我的插件创建了一个家具族和一个新页面

扩展生成器中的新模型对象

问题是,我没有显示包含唯一记录的列表,而是出现以下错误:

哎呀,发生了一个错误!代码:20180219055419589a6076

借助fh_调试扩展,我可以获得有关错误的更多信息:

哎呀,发生了一个错误!代码:20180219055419589a6076未知列'sys_file_reference.uid_local:type'in'where子句'异常代码:1472074485文件:/typo3/sysext/extbase/Classes/Persistence/Generic/Storage/typo3dbackend.php行:393 fh_调试跟踪:文件:/typo3/sysext/extbase/Classes/Persistence/Generic/Backend.php“第226行函数:getObjectDataByQuery文件:/typo3/sysext/extbase/Classes/Persistence/Generic/PersistenceManager.php”第126行函数:getObjectDataByQuery文件:/typo3/sysext/extbase/Classes/Persistence/Generic/QueryResult.php”第113行函数:getObjectDataByQuery文件:/typo3/sysextbase/extbase/Classes/Persistence/Generic/Mapper/DataMapper.php“行:567函数:getFirst文件:/typo3/sysext/extbase/Classes/Persistence/Generic/Mapper/DataMapper.php”行:503函数:mapResultToPropertyValue文件:/typo3/sysext/extbase/Classes/Persistence/Generic/Mapper/DataMapper.php”行:290函数:mapObjectToClassProperty文件:/typo3/sysext/extbase/Classes/Persistence/Generic/Mapper/DataMapper.php“行:186函数:解冻属性文件:/typo3/sysext/extbase/Classes/Persistence/Generic/Mapper/DataMapper.php”行:144函数:mapSingleRow

奇怪的是,当我删除属性“symbol”时,会显示列表(仅显示属性“name”)

作为一个新安装,我尝试将我的数据库与SpecificIon进行比较,但并没有进行任何更改

我的问题是:我如何纠正这个错误


谢谢。

这个问题已经很老了,但我在TYPO3版本9中仍然存在这个问题,并发现它与extension builder有关,extension builder正在为字段
uid\u local:type

错误消息只是阻塞了所有内容,因为没有为字段定义类型

在这个屏幕截图中,您可以看到在表
sys\u file\u reference
中定义了一个具有该名称的字段:

向下滚动带有表格字段的长列表,可以发现如下内容:

可以找到
config.items
的定义,其中包含一些可选择项的典型定义。即使只有一个项目,该结构也是某种形式元素的典型选择。我可以想象表单元素,如选择下拉框、单选按钮或复选框。所有这些元素都有这种代码结构作为定义

因此,我删除错误消息所做的只是为字段定义一个“类型”:

$tmp_ttnews_vp_columns['uid_local:type']['config']['type'] = 'select';
另一方面,该字段通常不会显示,因为表
sys\u file\u reference
从不遵循extbase逻辑,并且工作方式不同。 因此,删除文件中的一些代码非常简单和有用
您的扩展名/配置/TCA/Overrides/sys\u file\u reference.php

该表中有一个包含新字段或更改字段定义的块,该列表上方或下方的大多数代码都可以删除

这在列定义之上,可以删除:

下面这样的块也可以删除所需代码:

有关
类型
字段的文档可以找到,在底部的章节中还介绍了组合表示法,只是不是使用uid\u local,而是使用file:
文件:类型

有许多情况分别详细说明了它无法工作的原因,这里是已知的情况,我可以在以后的评论基础上扩展列表:

  • extension builder创建的默认映射看起来如下所示:
这里的行
recordType=Tx\u TtnewsVp\u FileReference
干扰并引发问题中所述的错误消息。
这种类型的打字脚本通常位于扩展文件夹根目录下的文件
ext\u TypoScript\u setup.TypoScript
,因此即使不包含静态模板,也会始终加载它

  • 类中的注释可能是错误的,包括诸如打字错误之类的简单错误。 注释和类型提示必须是正确的(也许缺少的注释比错误的注释要好,但我从未尝试过缺少注释或类型提示)

通常,它应该在注释部分用大写字母书写名称,如*name、*Symbol。。。。在我看来,你不需要@cascade-remove。你能试着改变这两件事,告诉我结果是什么吗?
$tmp_ttnews_vp_columns['uid_local:type']['config']['type'] = 'select';

config.tx_extbase {
persistence {
 classes {

   WDB\TtnewsVp\Domain\Model\FileReference {
     mapping {
       tableName = sys_file_reference
       recordType = Tx_TtnewsVp_FileReference
     }
   }

 }
}
}