Typo3 eID,如何访问配置

时间:2011-10-20 11:38:30

标签: typo3

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

我已经尝试过链接中的代码,但它不想工作。我在调用“$ TSFE-> getConfigArray();”

的电话中不断收到“未找到TypoScript模板!”的异常

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

有什么想法吗?

感谢。

1 个答案:

答案 0 :(得分: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');

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

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

祝你好运!