我目前正在7.6上开发。我做了一些小的插件,需要将它们的模板覆盖到不同的页面,但是我无法让TYPO3做到这一点。
我在sys_template.php
中添加了静态文件include:
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile(
'my_contacts',
'Configuration/TypoScript',
'Main Template'
);
包含setup.txt
和constants.txt
的:
如您所见,我还以静态方式添加了它。
setup.txt
plugin.my_contacts {
view {
templateRootPaths {
0 = EXT:my_contacts/Resources/Private/Templates/
1 = {$plugin.my_contacts.view.templateRootPath}
}
partialRootPaths {
0 = EXT:my_contacts/Resources/Private/Partials/
1 = {$plugin.my_contacts.view.partialRootPath}
}
layoutRootPaths {
0 = EXT:my_contacts/Resources/Private/Layouts/
1 = {$plugin.my_contacts.view.layoutRootPath}
}
}
settings {
cssFile = {$plugin.my_contacts.settings.cssFile}
}
}
constants.txt
plugin.my_contacts {
view {
# cat=plugin.my_contacts/file; type=string; label=Path to template root (FE)
templateRootPath = EXT:my_contacts/Resources/Private/Templates/
# cat=plugin.my_contacts/file; type=string; label=Path to template partials (FE)
partialRootPath = EXT:my_contacts/Resources/Private/Partials/
# cat=plugin.my_contacts/file; type=string; label=Path to template layouts (FE)
layoutRootPath = EXT:my_contacts/Resources/Private/Layouts/
}
settings {
# cat=plugin.my_contacts/file; type=string; label=Path to CSS file
cssFile = EXT:my_contacts/Resources/Public/Css/news-basic.css
}
}
内容以前很简单,但是在此阶段,我从news
插件复制了它们,因此它具有更多设置,但是当我检查模板分析器或尝试访问时,看不到这些条目。 vew / controller中的设置。另外,当我尝试覆盖页面中模板内容中的模板路径时,也没有任何反应。
插件模板本身可以被识别和读取,我只是无法让它们被覆盖(或从安装程序中读取设置)。
我阅读了很多示例,但找不到我所缺少的内容,因此任何提示都是很准确的。
PS:另外,为了以防万一,我还清除了所有系统缓存和自动加载信息。没有帮助。
答案 0 :(得分:3)
现在,您刚刚注册了静态Typoscripts,以便在Typoscript模板中使用。请使用后端中的“模板”模块选择您的Typoscript模板,然后转到“编辑整个模板记录”。现在,在“包含”上,您将看到所有已注册静态Typoscript的扩展名(例如您的扩展名),并将其包括在当前模板中。 (请参见下面的屏幕截图)。
答案 1 :(得分:1)
您是否在TypoScript模板中包括了静态模板?