TYPO3 Extbase扩展现有的扩展使用自己的扩展模型?
问题描述:
我试图用三个额外的日期(时间戳)字段扩展扩展(新闻),并想在我的(新闻)fluidtemplate中调用这些。TYPO3 Extbase扩展现有的扩展使用自己的扩展模型?
我已经连接了一切到目前为止,我可以看到我的额外领域在后端没有选择extratype - 我已经modified ext_tables.php相应,并可以保存数据。
现在我试图在我的局部模板/列表/ Item.html使用下面的代码用在我的新闻fluidtemplate这些领域 - {} newsItem.datetime
我想我需要的TypoScript相适应的是,型号Tx_News_Domain_Model_News现在是
config.tx_extbase{
persistence{
classes{
Tx_News_Domain_Model_News {
className = MyVendor\MyNews\Domain\Model\New
}
MyVendor\MyNews\Domain\Model\News {
mapping {
tableName = tx_news_domain_model_news
recordType = Tx_MyNews_News
}
}
}
}
}
但是,这似乎并没有工作 - 任何人谁在这里得到了解决。
答
首先,你不一定需要扩展EXT:消息“正常的Extbase方式”。 EXT:新闻提供了一种扩展其他字段的方式,而不会覆盖其模型。它被记录在here。
这种方式的好处是多重扩展仍然可以在不冲突的情况下扩展新闻。
如果你仍然想这样做“自己的方式”,你需要修复的配置如下:
plugin.tx_news {
objects {
Tx_News_Domain_Domain_News {
className = My\Extension\Domain\Model\News
}
}
}
这告诉Extbase使用你的模型类,而不是新闻模型类的。
config.tx_extbase.persistence.classes {
Visol\Newscatinvite\Domain\Model\News {
mapping {
tableName = tx_news_domain_model_news
}
}
}
这告诉Extbase使用您的模型的新闻表。
永远不要忘记清除所有系统缓存(类反射存储在数据库中)。如果您处于Development环境中,则您在后端具有“Flush系统缓存”。