目前我正在使用以下条件TypoScript来检查设置了哪个后端布局:
[globalVar = TSFE:page|backend_layout = 2]
// some typoscript
[global]
另外,我有一个像这样的站点树结构:
- rootPage1
- page1
- page2
- page3
- rootPage2
- page1
- page2
现在我想为 rootPage2 和此页面的所有子项使用不同的后端布局。所以我按如下方式配置了这个页面:
这可以按预期工作,并为rootPage2及其所有孩子设置不同的后端布局,但条件语句不适用于他的孩子。只有当我手动设置所有这些子项的后端布局时,它才能正常工作:(。
我需要一个不同的条件语句吗?
答案 0 :(得分:1)
是的,您需要使用不同的条件,特别是编写自己的userFunc condition
将此代码放入typo3conf/AdditionalConfiguration.php
(完全在此处,必要时创建文件):
function user_beLayout($layout) {
if (TYPO3_MODE!='FE') return false;
if($GLOBALS["TSFE"]->page["backend_layout"] > 0)
return $GLOBALS["TSFE"]->page["backend_layout"] == $layout;
foreach ($GLOBALS["TSFE"]->rootLine as $page)
if($page["backend_layout_next_level"] > 0)
return ($page["backend_layout_next_level"] == $layout);
return false;
}
所以你可以在你的TS中使用它,如:
[userFunc = user_beLayout(2)]
// some typoscript
[end]
的链接