TYPO3 Extbase扩展现有扩展以​​使用自己的扩展模型?

时间:2014-10-04 20:38:54

标签: typo3 fluid extbase

我试图用三个额外的日期(时间戳)字段扩展扩展(新闻),并希望在我的流畅模板(新闻)中调用它们。

到目前为止,我已经连接了所有内容,我可以在后端看到我的额外字段而不选择额外的类型 - 我相应地修改了ext_tables.php并且可以保存数据。

现在我尝试使用我的Partials / List / Item.html中的以下代码在我的新闻flowtemplate中使用这些字段 - {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
                }
            }
        }
    }    
}

但这似乎不起作用 - 任何人都能找到解决方案。

1 个答案:

答案 0 :(得分:3)

首先,您不一定需要扩展EXT:新闻"正常的Extbase方式"。 EXT:news提供了一种扩展其他字段的方法,而不会覆盖其模型。记录here

这种方式的优点是多重扩展仍然可以扩展新闻而不会发生冲突。

如果您仍想按照自己的方式进行操作,则需要按如下方式修改配置:

plugin.tx_news {
  objects {
     Tx_News_Domain_Domain_News {
        className = My\Extension\Domain\Model\News
     }
  }
}

这告诉Extbase使用您的模型类而不是News模型类。

config.tx_extbase.persistence.classes {
    Visol\Newscatinvite\Domain\Model\News {
        mapping {
            tableName = tx_news_domain_model_news
        }
    }
}

这告诉Extbase将新闻表用于您的模型。

永远不要忘记清除所有系统缓存(类反射存储在数据库中)。你有一个" Flush系统缓存"如果您处于开发环境中,请在后端。