我在常数中使用了typoscript的顺序。我有一个提供商扩展程序,其中包含该站点的所有模板和文件。 Typoscript用于外部文件,我不想将typoscript存储在数据库中。我使用typo3_forum ext并想修改模板来自定义它。但是当我把ts放在视图中时:
plugin.tx_typo3forum {
view {
templateRootPath = EXT:provider/Resources/Private/Templates/Forum/Standard/
partialRootPath = EXT:provider/Resources/Private/Partials/Forum/Standard/
layoutRootPath = EXT:provider/Resources/Private/Layouts/Forum/Standard/
}
}
这些值将被typo3_forum ext本身覆盖,导致typo3_forum ext的常量位于我的提供者扩展下的templateAnalyser hirachy中。 确保将上面的ts存储在我的roottemplate的常量字段中解决了这个问题,但是没有解决外部字符排序的问题吗?
我试过了:
plugin.tx_typo3forum.view.templateRootPaths.100 = EXT:provider/Resources/Private/Templates/Forum/Standard/
但是这样做很有效,在这种情况下,ext使用默认模板。
感谢您的帮助!
干杯马克
答案 0 :(得分:0)
点击你的行
plugin.tx_typo3forum.view.templateRootPaths.100 = EXT:provider/Resources/Private/Templates/Forum/Standard/
,而不是常量。
您可以将路径移动到常量,如
常量:
plugin.tx_typo3forum.view.myTemplateRootPath = EXT:provider/Resources/Private/Templates/Forum/Standard/
设定:
plugin.tx_typo3forum.view.templateRootPaths.100 = {$plugin.tx_typo3forum.view.myTemplateRootPath}
如果使用TYPO3版本8,请查看https://forge.typo3.org/issues/75862。有关模板路径回退的错误。该问题已经解决,目标是版本8.4
答案 1 :(得分:0)
模板分析器中出现的TS顺序只反映了文件的加载顺序。
如果您已经为TypoScript使用了提供程序扩展,并且没有在数据库中放置任何TS语句(这是一个很好的做法),您可以更进一步,不要在数据库中放置任何扩展TS (甚至不包括模板记录中的静态模板)。
只需在提供者扩展程序中包含<INCLUDE_TYPOSCRIPT
所需的TypoScript文件,即可完全控制事物的顺序。
在数据库中,您只需要在常量中放置一行,在设置中放置一行,每个包含来自您的提供者扩展。这也会减少您对数据库的依赖,因为如果您包含一个新文件,它只是被加载,后端的实际模板记录中不需要任何操作。