2011-10-20 8 views
6

私はTypo3でeIDを作成しました。私はTypo3インスタンスから自分のプラグインの設定データにアクセスする方法を理解できません。Typo3 eID、設定へのアクセス方法

リンクからコードを試しましたが、機能したくありません。私は例外取得キープコールに "見つかりませんのTypoScriptテンプレートを!" "$ TSFE-> getConfigArray();"

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'); 

これはTSFEとCOBJを初期化しますが、TypoScriptのテンプレートをロードし、解析するためにも使用されています。 http://sebastiaandejonge.com/blog/articles/2010/september/21/bringing-ajax-to-your-frontend-plugins/

幸運:あなたは

コードは、次のブログ記事へのコメントの1から来た(おそらくいくつかのことを追い出す)にいくつかの変更を加える必要があるかもしれません!

+0

私は週末の後にこれを見ていきます。ありがとう – conor

関連する問題