我目前正在尝试将当前登录的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]
非常感谢提前
鲍勃
答案 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传递每个包,但我不认为它完全实现了。)