Typo3 - Typoscript将FE用户名设置为常量

时间:2014-03-09 13:58:35

标签: php typo3 typoscript

我目前正在尝试将当前登录的FE用户的用户名添加为常量。我尝试了以下但它似乎不起作用。

Username = TSFE:fe_user|user|username

我使用this作为起点

我想知道如何将FE用户名变成常量,这样我就可以在我需要其余的typoscript时调用它。

这是我试图获取用户名的一些typoscript,目前它只是添加公司名称,其中定义为常量其他地方,但我想添加int他也是用户名。我已经尝试为用户名添加全局变量但没有欢乐。

[usergroup = *]
config.tx_we_google_analytics {
        _setCustomVar = 1, 'Client', '{$companyName} - {TSFE:fe_user|user|username}',2
        }
[end]

非常感谢提前

鲍勃

2 个答案:

答案 0 :(得分:0)

您可以直接在TypoScript设置中使用适当的全局变量,我认为不需要常量。您提供的示例是我正在讨论的全局变量,您可以在typoscript设置中的任何getText上下文中使用它。

e.g。

temp.userName = TEXT
temp.userName.data = TSFE:fe_user|user|username

TypoScript常量只允许直接赋值,不可能将任何其他“变量”赋值给常量恕我直言。

试试这个。如果你很幸运,它可以工作。

[usergroup = *]
config.tx_we_google_analytics {
    _setCustomVar.cObject = TEXT
    _setCustomVar.cObject.value = 1, 'Client', '{$companyName} - {TSFE:fe_user|user|username}',2
    _setCustomVar.cObject.insertData = 1
}
[end]

如果没有,则必须修改插件代码以通过stdWrap处理配置值。 Thsi代码在插件控制器

中工作
$configValue = $this->cObj->stdWrap('',$GLOBALS['TSFE']->tmpl->setup['config.']['tx_we_google_analytics.']['_setCustomVar.']);

或更简单(控制器内的stil)

$configValue = $this->cObj->stdWrap('',$this->conf['_setCustomVar.']);

答案 1 :(得分:0)

我不建议使用扩展程序插入基本的Google Analytics代码段。每个扩展都会降低系统的速度,使其难以维护。

我不知道你的customVar是做什么的,但你可能会尝试像

这样的东西
temp.analytics = COA
temp.analytics {

  10 = TEXT
  10.value (
    first part of GA snippet
  )

  20 = TEXT
  20.data = TSFE:fe_user|user|username

  30 = TEXT
  30.value (
     rest of GA Snippet
  )

}

然后将您的代码段插入您想要的位置,例如headerData.99 < temp.analytics已经完成了。

甚至尝试使用wrap和insertData = 1。

正如Artur所说,如果数据没有在.wrap中呈现,请始终尝试stdWrap.wrap - 它往往会添加功能(尽管afaik默认情况下已经努力通过stdWrap传递每个包,但我不认为它完全实现了。)