我正在使用TYPO3 7.4.0而且我正在学习在extbase和amp;中构建扩展。流体。 我的表名中有供应商前缀。我为扩展创建了三个表。当我进入后端并在我创建的资源文件夹的列表视图中添加实体时,它可以正常工作。当我前往前端查看我的实体的索引操作时,它会查找一个没有名称中的供应商前缀的表。有谁知道这意味着什么?我在“ext_tables.sql”中创建表。我没有定义表映射。我不知道在哪里更改extbase正在寻找的表。
答案 0 :(得分:1)
默认情况下,Extbase使用架构tx_extkey_domain_model_modelname
查找表,因此对于Animal
ext中的zoo
模型,它将为tx_zoo_domain_model_animal
。 (没有下划线的extkey,如果有的话!)
如果您使用其他架构(如表名中的供应商名称),则需要使用映射。即在你的ext的主文件夹中创建文件ext_typoscript_setup.txt
并使用:
config.tx_extbase{
persistence{
classes{
Vendor\Zoo\Domain\Model\Animal {
mapping {
tableName = tx_your_own_name
}
}
}
}
}
BTW:最好保留原始命名方案。另外一点是手动创建扩展程序可能会非常棘手 - 至少对于初学者来说,安装Extension Builder分机只需点击一下即可快速启动新扩展程序。