如何在TYPO3 V9/V10中检测BE用户是否处于登录状态?
TYPO3 v9/v10 后端用户登录状态判断实现方案
TYPO3 从v9版本开始废弃了旧版[globalVar]系列TypoScript条件语法,改用基于Symfony表达式语言的条件逻辑,对应实现方式如下:
TypoScript 配置层替代方案
直接替换旧版条件写法即可:
[backend.user.isLoggedIn] # 此处填写仅后端用户登录后需要生效的TypoScript配置 [end]
如果需要限定仅在前端场景下生效,可以组合上下文条件:
[applicationContext == "Frontend" && backend.user.isLoggedIn] # 仅前端页面、且有BE用户登录时生效的配置 [end]
PHP 扩展开发层判断方案
如果你是在自定义扩展的PHP代码中需要判断状态,可以使用TYPO3核心的上下文API获取:
use TYPO3\CMS\Core\Context\Context; use TYPO3\CMS\Core\Utility\GeneralUtility; $context = GeneralUtility::makeInstance(Context::class); $beLoginStatus = $context->getPropertyFromAspect('backend.user', 'isLoggedIn'); if ($beLoginStatus) { // 执行你的自定义业务逻辑 }
内容的提问来源于stack exchange,提问作者Lukas
相关产品推荐
相关产品推荐

