Extbase 寻找错误 table

Extbase looking for wrong table

我正在使用 TYPO3 7.4.0,我正在学习在 extbase 和 fluid 中构建扩展。 我的 table 名称中有供应商前缀。我为我的扩展创建了三个 table。当我进入后端并在我创建的资源文件夹的列表视图中添加实体时,它可以正常工作。当我去前端查看我的实体的索引操作时,它会查找名称中没有供应商前缀的 table。有谁知道那是什么意思?我在 "ext_tables.sql" 中创建了 table。我没有定义 table 映射。我不知道在哪里更改 tables extbase 正在寻找。

默认情况下,Extbase 使用架构 tx_extkey_domain_model_modelname 查找 table,因此对于 zoo 分机中的 Animal 模型,它将是 tx_zoo_domain_model_animal。 (extkey 没有下划线,如果有的话!)

如果您使用了其他架构(例如 table 名称中的供应商名称),则需要使用映射。 IE。在分机的主文件夹中创建文件 ext_typoscript_setup.txt 并使用:

config.tx_extbase{
    persistence{
        classes{
            Vendor\Zoo\Domain\Model\Animal {
                mapping {
                    tableName = tx_your_own_name
                }
            }

        }
    }
}

顺便说一句:最好保留原始命名模式。另一件事是,手动创建扩展可能很棘手 - 至少对于初学者来说,安装 Extension Builder ext 以通过单击方式快速启动新扩展。