如何正确初始化$ GLOBALS ['TSFE']

时间:2017-04-03 07:39:32

标签: typo3 typo3-extensions

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

在此控制器中,我想从$GLOBALS['TSFE']获取一些内容,但当我var_dump($GLOBALS['TSFE'])时,我会收到null。问题是如何正确初始化$GLOBALS['TSFE']?

2 个答案:

答案 0 :(得分:5)

尝试这样的事情:

$GLOBALS['TSFE'] = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController',$GLOBALS['TYPO3_CONF_VARS'], $id, $type);

答案 1 :(得分:2)

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

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

因此,当您可以实例化TSTypoScriptFrontendControllerFE时,通常不需要:TYPO3在前端中对其进行实例化。

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