Zum Inhalt springen

Plugin per AJAX aufrufen

Erstellt am 18. Juni 2012 · 1 Antwort · letzte Antwort am 21. Juni 2012

Tags: Frage

hydrococcus ·

Hallo zusammen,

ich habe ein Problem mit einer eigenen Extension und AJAX. Entwickelt habe ich zunächst lokal (xampp) und wollte das ganze dann auf dem Webserver testen. Dort tritt dann das Problem auch erst auf. Nun zur Sache.

Meine Extension besteht aus drei Plugins (_pi1,_pi2,_pi3).
_pi1 wird über AJAX aufgerufen:

### Ajax-Anfrage
ajaxFondList = PAGE
ajaxFondList.typeNum = 102
ajaxFondList{
  10 < plugin.tx_pluginname_pi2
  
  config{
    disableAllHeaderCode = 1
    xhtml_cleaning = 0
    admPanel = 0
    debug = 0
    no_cache = 1
  }
}

In diesem Plugin werden per:

$meineVar = $GLOBALS['TSFE']->tmpl->setup['plugin.']['tx_tx_pluginname_pi2.']['meineVar'];

Setup-Variablen aus TS abgerufen. Wenn ich mir diese während das AJAX-Aufrufes mit

var_dump($meineVar);

ausgeben lasse, erhalte ich NULL (auf dem Webserver, im xampp steht der angegeben Wert drin).
Rufe ich das Plugin aber per:

meineDomain.de/index.php?id=824&type=102

auf, bekomme ich den wert aus dem TypoScript-Setup.

Kann mir einer sagen, was ich falsch mache? Beim recherchieen bin ich auf
eID gestoßen, weiß aber nicht, ob es daran liegt. Muß man in einem Plugin noch zusätzliche Angaben machen, wenn man dieses per AJAX aufruft?

hydrococcus ·

Hallo zusammen,

hab eine Lösung gefunden:

function getTypoScriptForAJAXRequest(){
		
		$pid = $this->getPageId();
		
		// eID specific initialization of user and database
		tslib_eidtools::connectDB();
		tslib_eidtools::initFeUser();
		 
		// initialize TSFE
		require_once(PATH_tslib.'class.tslib_fe.php');
		require_once(PATH_t3lib.'class.t3lib_page.php');
		$temp_TSFEclassName = t3lib_div::makeInstanceClassName('tslib_fe');
		$GLOBALS['TSFE'] = new $temp_TSFEclassName($TYPO3_CONF_VARS, $pid['id'], 0, true);
		$GLOBALS['TSFE']->connectToDB();
		$GLOBALS['TSFE']->initFEuser();
		$GLOBALS['TSFE']->determineId();
		$GLOBALS['TSFE']->getCompressedTCarray();
		$GLOBALS['TSFE']->initTemplate();
		$GLOBALS['TSFE']->getConfigArray();

		}

Ein kleines Problem ergibt sich allerdings daraus bei der Rückgabe und zwar mit UTF-8.
bspw. 'Überwiegend'
Weiß jemand warum das so ist?