Typo3 eID,如何访问配置

jim*_*jim 6 typo3

我刚刚在Typo3中创建了一个eID.我无法弄清楚如何从Typo3实例访问我的插件的配置数据.

我已尝试过链接中的代码,但它不想工作.我在调用"$ TSFE-> getConfigArray();"时不断收到"未找到TypoScript模板!"的异常.

http://lists.typo3.org/pipermail/typo3-dev/2006-December/021392.html

有任何想法吗?

谢谢.

小智 6

在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');
Run Code Online (Sandbox Code Playgroud)

这会初始化TSFE和cObj,但也用于加载和解析TypoScript模板.您可能需要进行一些修改(可能会解决一些问题)

该代码来自以下博客文章中的一条评论:http://sebastiaandejonge.com/blog/articles/2010/september/21/bringing-ajax-to-your-frontend-plugins/

祝好运!