【发布时间】:2013-08-31 03:46:27
【问题描述】:
TYPO3流体模板会有我不知道的功能吗?
对于某些扩展程序(例如 powermail、news),有许多我不使用的功能模板。但如果我想改编一个模板,就必须全部复制。是否有另一种方法可以设置单个模板路径?
【问题讨论】:
TYPO3流体模板会有我不知道的功能吗?
对于某些扩展程序(例如 powermail、news),有许多我不使用的功能模板。但如果我想改编一个模板,就必须全部复制。是否有另一种方法可以设置单个模板路径?
【问题讨论】:
这目前无法通过 FLUID 内核实现。
但是,有一个扩展 view 可以完全按照您的意愿行事,还有一个 feature request 可以将该功能移至 FLUID 核心。
【讨论】:
从 TYPO3 v6.2 开始,可以添加多个模板、布局和部分路径。只需使用类似的东西。
plugin.tx_myextension {
view {
templateRootPath >
templateRootPaths {
10 = EXT:myextension/Resources/Private/Templates
20 = fileadmin/templates/myextension/Templates
}
partialRootPath >
partialRootPaths {
10 = EXT:myextension/Resources/Private/Partials
20 = fileadmin/templates/myextension/Partials
}
}
}
切记:扩展程序开始搜索从最大数字开始并以最小数字结束的文件,您应该在其中添加扩展程序默认路径。
【讨论】:
当前语法:将以下内容添加到您自己的扩展的常量文件中,并在 Powermail 自己的之后加载它。相同的语法适用于partialRootPath 和layoutRootPath。
您只需复制要自定义的单个文件 - 尊重原始文件夹结构 - 而不是整个文件夹。 TYPO3 将在 ...rootPaths 数组中指示的所有路径中搜索文件,从编号最高的条目开始。
通过使用单数形式 ...rootPath 而不是 ...rootPaths,您的定义将附加到生成的 ...rootPaths 数组中。因此,将以下内容添加到您的常量中……
plugin.tx_myextension {
view {
templateRootPath = EXT:myextension/Resources/Private/Templates
}
}
…将生成…
plugin.tx_myextension {
view {
templateRootPaths {
0 = EXT:powermail/Resources/Private/Partials/
1 = EXT:myextension/Resources/Private/Templates
}
}
}
【讨论】:
我不这么认为...只需将整个文件夹复制到 fileadmin/ext/powermail 示例中(也包含部分!),然后更改扩展的 TS 常量中的路径。
为了使其适用于单个文件,开发人员应该直接在他们的扩展中实现这种行为,但这将是一个非常不舒服的解决方案(对于开发人员和用户来说也是如此)
【讨论】: