You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TYPO3 v11:如何通过TypoScript将前端会话变量传入页面数据?

TYPO3 v11 前端会话变量传入页面数据解决方案

问题原因

你当前的TypoScript写法存在两处问题:

  • 直接将session:ses|typows_accessToken作为TEXT的值,TYPO3无法直接解析该格式的变量,需要通过stdWrap.data来读取会话数据;
  • 使用旧的globalVar条件语法,且仅在变量存在时执行配置,若变量为空会导致配置不生效。

正确配置方案

方案1:直接读取会话变量(无需条件判断)

page.10.variables.tokensessione = TEXT
page.10.variables.tokensessione.stdWrap.data = session:ses|typows_accessToken

该写法会直接读取会话中的typows_accessToken值,变量不存在时输出为空。

方案2:带条件判断的写法(仅变量存在时赋值)

TYPO3 v11推荐使用新的条件函数语法替代globalVar,兼容性更好:

[session("ses|typows_accessToken")]
    page.10.variables.tokensessione = TEXT
    page.10.variables.tokensessione.stdWrap.data = session:ses|typows_accessToken
[global]

验证要点

  • 确认模板中正确调用了{tokensessione}变量(若使用Fluid模板);
  • 清除前端浏览器缓存和TYPO3后端缓存后测试;
  • 可在控制器中添加调试代码确认会话变量已正确设置:
    \TYPO3\CMS\Core\Utility\DebugUtility::debug($GLOBALS['TSFE']->fe_user->getKey('ses', 'typows_accessToken'));
    

内容的提问来源于stack exchange,提问作者MarioProject

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 16:59:57