2011-10-20 2 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/

행운을 빕니다 : 당신은

코드는 다음 블로그 게시물에 의견 중 하나에서 온 (아마 몇 가지를 쫓아)에 몇 가지 수정을해야 할 수도 있습니다!

+0

나는 주말 후에 이것을 보게 될 것이다. 고마워 – conor

관련 문제