我使用fluidpages
进行模板构建,并希望根据fe_users表中的字段动态选择模板。例如,大多数人默认会看到EXT:default
模板,而有些会看到EXT:advanced
模板,因为它们被标记为特殊。
我试过
plugin.tx_template {
view {
templateRootPaths {
0 = EXT:default/Resources/Private/Templates/
10 {
data = TSFE:fe_user|user|template
wrap = EXT: | /Resources/Private/Templates/
}
}
}
}
但似乎TS未被解析并由fluid
直接使用,因此失败。
感谢任何想法或提示!
答案 0 :(得分:1)
实际上这可能是可能的。但我无法看到如何在页面属性中覆盖所选模板的明显方法。
据我所知,您需要在页面记录中选择一个模板。
如果您发现可以覆盖那个,可以像这样使用TS设置:
EXT:template_package /配置/的TypoScript / constants.txt:
plugin.tx_templatepackage {
view {
templateRootPaths.default = EXT:template_package/Resources/Private/Templates/
partialRootPaths.default = EXT:template_package/Resources/Private/Partials/
layoutRootPaths.default = EXT:template_package/Resources/Private/Layouts/
}
}
EXT:template_package /配置/的TypoScript / SETUP.TXT:
plugin.tx_templatepackage {
view {
templateRootPaths.default = {$plugin.tx_templatepackage.view.templateRootPaths.default}
partialRootPaths.default = {$plugin.tx_templatepackage.view.partialRootPaths.default}
layoutRootPaths.default = {$plugin.tx_templatepackage.view.layoutRootPaths.default}
}
}
以上部分将设置您的全局路径。 之后,您将为模板定义子包。
EXT:template_package /配置/的TypoScript /基本/ SETUP.TXT
plugin.tx_templatepackage {
view {
templateRootPaths.10 = {$plugin.tx_templatepackage.view.templateRootPaths.0}Basic/
partialRootPaths.10 = {$plugin.tx_templatepackage.view.partialRootPaths.0}Basic/
layoutRootPaths.10 = {$plugin.tx_templatepackage.view.layoutRootPaths.0}Basic/
}
}
和
EXT:template_package /配置/的TypoScript /高级/ SETUP.TXT
plugin.tx_templatepackage {
view {
templateRootPaths.20 = {$plugin.tx_templatepackage.view.templateRootPaths.0}Advanced/
partialRootPaths.20 = {$plugin.tx_templatepackage.view.partialRootPaths.0}Advanced/
layoutRootPaths.20 = {$plugin.tx_templatepackage.view.layoutRootPaths.0}Advanced/
}
}
当然你应该在TYPO3中提供它们:
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'Configuration/TypoScript', 'Template Package: Base');
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'Configuration/TypoScript/Basic', 'Template Package: Basic');
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'Configuration/TypoScript/Advanced', 'Template Package: Advanced');
在完成所有这些之后,您可以覆盖一个值 - IDK,其中一个 - 通过:
[usergroup = group1-uid]
// override option, which defines the default template
[usergroup = group2-uid]
// override option, which defines the default template
抱歉,我无法帮助您。我试图深入研究EXT:flux和EXT:fluidpages。但我无法看到这个选项。