在 eID 模式下,仅加载常规 TYPO3 前端的一小部分。不幸的是,没有加载 TypoScript。要仍然访问 TypoScript 配置,您需要手动加载它需要这样做的组件。不幸的是,这可能有点让人头疼。因此,在某些情况下,仅加载包含单个插件且不包含任何其他内容(没有标题等)的页面可能会更容易。
如果您确实想自己加载 TypoScript 模板,您可以尝试以下方法:
require_once(PATH_tslib.'class.tslib_fe.php');
require_once(PATH_t3lib.'class.t3lib_userauth.php' );
require_once(PATH_tslib.'class.tslib_feuserauth.php');
require_once(PATH_t3lib.'class.t3lib_cs.php');
require_once(PATH_tslib.'class.tslib_content.php') ;
require_once(PATH_t3lib.'class.t3lib_tstemplate.php');
require_once(PATH_t3lib.'class.t3lib_page.php');
$TSFEclassName = t3lib_div::makeInstanceClassName('tslib_fe');
$id = isset($HTTP_GET_VARS['id'])?$HTTP_GET_VARS['id']:0;
$GLOBALS['TSFE'] = new $TSFEclassName($TYPO3_CONF_VARS, $id, '0', 1, '','','','');
$GLOBALS['TSFE']->connectToMySQL();
$GLOBALS['TSFE']->initFEuser();
$GLOBALS['TSFE']->fetch_the_id();
$GLOBALS['TSFE']->getPageAndRootline();
$GLOBALS['TSFE']->initTemplate();
$GLOBALS['TSFE']->tmpl->getFileName_backPath = PATH_site;
$GLOBALS['TSFE']->forceTemplateParsing = 1;
$GLOBALS['TSFE']->getConfigArray();
$cObj = t3lib_div::makeInstance('tslib_cObj');
这会初始化 TSFE 和 cObj,但也用于加载和解析 TypoScript 模板。你可能需要做一些修改(可能踢出一些东西)
代码来自以下博客文章中的一位 cmets:http://sebastiaandejonge.com/blog/articles/2010/september/21/bringing-ajax-to-your-frontend-plugins/
祝你好运!