3

在我的 TYPO3 扩展中,我创建了一个自定义控制器类,它从 TYPO3 后端的某个钩子中调用。

在这个控制器中,我想从中获取一些东西,$GLOBALS['TSFE']但是当我这样做时,var_dump($GLOBALS['TSFE'])我会收到null. 问题是如何正确初始化$GLOBALS['TSFE']?

4

2 回答 2

5

尝试这样的事情:

$GLOBALS['TSFE'] = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController',$GLOBALS['TYPO3_CONF_VARS'], $id, $type);
于 2017-04-03T07:45:59.480 回答
3

虽然 $GLOBALS['TSFE'] 是 TypoScriptFrontendController 的实例化,并且您可以按照所述使用 makeInstance 正确实例化它,但您为什么要这样做?

正如您所说,您在Backend工作,TypoScriptFrontendController 为您提供有关当前呈现页面的各种信息(在Frontend中)。

因此,虽然您可以实例化 TSTypoScriptFrontendControllerFE,但通常不需要:TYPO3 在前端实例化它。

在实例化它之前,我会首先检查:用例是什么?也许有一些更好的方法来做你想做的事。

于 2018-11-05T15:56:47.900 回答