在我的 TYPO3 扩展中,我创建了一个自定义控制器类,它从 TYPO3 后端的某个钩子中调用。
在这个控制器中,我想从中获取一些东西,$GLOBALS['TSFE']
但是当我这样做时,var_dump($GLOBALS['TSFE'])
我会收到null
. 问题是如何正确初始化$GLOBALS['TSFE'
]?
在我的 TYPO3 扩展中,我创建了一个自定义控制器类,它从 TYPO3 后端的某个钩子中调用。
在这个控制器中,我想从中获取一些东西,$GLOBALS['TSFE']
但是当我这样做时,var_dump($GLOBALS['TSFE'])
我会收到null
. 问题是如何正确初始化$GLOBALS['TSFE'
]?
尝试这样的事情:
$GLOBALS['TSFE'] = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController',$GLOBALS['TYPO3_CONF_VARS'], $id, $type);
虽然 $GLOBALS['TSFE'] 是 TypoScriptFrontendController 的实例化,并且您可以按照所述使用 makeInstance 正确实例化它,但您为什么要这样做?
正如您所说,您在Backend工作,TypoScriptFrontendController 为您提供有关当前呈现页面的各种信息(在Frontend中)。
因此,虽然您可以实例化 TSTypoScriptFrontendControllerFE,但通常不需要:TYPO3 在前端实例化它。
在实例化它之前,我会首先检查:用例是什么?也许有一些更好的方法来做你想做的事。