模板分析器中的常量顺序TS

时间:2016-09-01 07:29:08

标签: typo3 typoscript

我在常数中使用了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使用默认模板。

感谢您的帮助!

干杯马克

2 个答案:

答案 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文件,即可完全控制事物的顺序。

在数据库中,您只需要在常量中放置一行,在设置中放置一行,每个包含来自您的提供者扩展。这也会减少您对数据库的依赖,因为如果您包含一个新文件,它只是被加载,后端的实际模板记录中不需要任何操作。