试图在HMENU中设置TSFE变量

时间:2013-11-19 13:21:06

标签: typo3 typoscript

我正在尝试创建一个带有typoscript的菜单栏,当我分配一个像116这样的整数时,一切都按预期工作但事情是我不知道页面ID并且我从这个会话中获取{{1在这种情况下,菜单无法显示

TSFE:fe_user|sesData|usergroup|menuProtectedRoot

...

但这将

    MENU_PROTECTED_ROOT = HMENU
    MENU_PROTECTED_ROOT {
        special = directory
        special.value = TSFE:fe_user|sesData|usergroup|menuProtectedRoot

...

我绝对肯定变量在那里我甚至可以在另一个子部分输出

    MENU_PROTECTED_ROOT = HMENU
    MENU_PROTECTED_ROOT {
        special = directory
        special.value = 116

我尝试在模板中将其设置为常量>相同的结果

我在控制器中设置变量

时确保它是一个使用(int)的整数
    SPAN = COA
    SPAN {
        10 = TEXT
        10.data = TSFE:fe_user|sesData|usergroup|menuProtectedRoot
        10.wrap = |
    }

没效果

    MENU_PROTECTED_ROOT = HMENU
    MENU_PROTECTED_ROOT {
        special = directory
        special.value = TSFE:fe_user|sesData|usergroup|menuProtectedRoot
        special.value.insertData = 1

没效果

2 个答案:

答案 0 :(得分:3)

尝试这种方法:

MENU_PROTECTED_ROOT = HMENU
MENU_PROTECTED_ROOT {
    special = directory
    special.value.stdWrap.data = TSFE:fe_user|sesData|usergroup|menuProtectedRoot

HMENU [1]中special.value的定义表示stdWrap类型包含data参数。

[1] http://wiki.typo3.org/TSref/HMENU

答案 1 :(得分:0)

除非您设置special.value,否则

insertData = 1不支持getText [1](因此它不会解析来自TSFE,GP等的任何值)。试试这个:

MENU_PROTECTED_ROOT = HMENU
MENU_PROTECTED_ROOT {
    special = directory
    special.value = {TSFE:fe_user|sesData|usergroup|menuProtectedRoot}
    special.value.insertData = 1

[1] http://wiki.typo3.org/TSref/getText