覆盖扩展模板的最佳方法

时间:2016-09-27 12:35:01

标签: typo3 typo3-7.6.x

覆盖typo3扩展标准模板的最佳方法是什么,以便保存更新?

感谢

试过这个:

plugin.tx_news {
        view {
                templateRootPath = fileadmin/webdesign/templates/news/Templates/
                partialRootPath = fileadmin/webdesign/templates/news/Partials/
                layoutRootPath = fileadmin/webdesign/templates/news/Layouts/
        }
}

但没有任何改变

2 个答案:

答案 0 :(得分:5)

以下是tx_news doc的一个例子:

TypoScript Setup语法如下所示:

plugin.tx_news {
        view {
                templateRootPaths {
                        0 = EXT:news/Resources/Private/Templates/
                        1 = EXT:fileadmin/templates/ext/news/Templates/
                }
                partialRootPaths {
                        0 = EXT:news/Resources/Private/Partials/
                        1 = fileadmin/templates/ext/news/Partials/
                }
                layoutRootPaths {
                        0 = EXT:news/Resources/Private/Layouts/
                        1 = fileadmin/templates/ext/news/Layouts/
                }
        }
}

Doc tx_news:

https://docs.typo3.org/typo3cms/extensions/news/3.0.0/Main/Templating/Start/Index.html

typo3 Doc:

https://docs.typo3.org/typo3cms/extensions/fluid_styled_content/7.6/Configuration/OverridingFluidTemplates/Index.html

这是另一个来自slickcarousel的例子:

https://gist.github.com/misterboe/5de7498e810ebd57f7bfb4d2a7abeb66

答案 1 :(得分:2)

重要提示: 在TYPO3 CMS 6.2中,您可以直接覆盖设置

templateRootPath  = /path/to/you/template

在TYPO3 CMS 7.6及更高版本中,您可以创建一个阵列,其中Fluid / TYPO3正在寻找模板。命名是不同的(现在以“s”结尾),它必须是一个数组。

因此,版本6.x的OLD示例将无法在7.6中使用!

templateRootPaths {
    0 = /path/to/originalExtension/template
    1 = /path/to/you/template
}

同样适用于partialRootPath - >现在partialRootPaths和layoutRootPath - >现在layoutRootPaths

这个新数组的优势:如果你只想覆盖一个部分或一个模板:在你自己的扩展或Fileadin文件夹中创建目录,只需把这个,改成文件那里

- >文件名应该仍然是相同的 - >寻找CamelCase错误(f.e.文件夹名称应该是“布局”而不是“布局”..这可能适用于Windows测试系统,但不适用于使用Linux生产.. - >清除TYPO3缓存..一如既往..