Plugin per AJAX aufrufen

  • hydrococcus hydrococc...
    Padawan
    0 x
    36 Beiträge
    0 Hilfreiche Beiträge
    18. 06. 2012, 19:27

    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:

    1. ### Ajax-Anfrage
    2. ajaxFondList = PAGE
    3. ajaxFondList.typeNum = 102
    4. ajaxFondList{
    5. 10 < plugin.tx_pluginname_pi2
    6.  
    7. config{
    8. disableAllHeaderCode = 1
    9. xhtml_cleaning = 0
    10. admPanel = 0
    11. debug = 0
    12. no_cache = 1
    13. }
    14. }

    In diesem Plugin werden per:
    1. $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
    1. var_dump($meineVar);

    ausgeben lasse, erhalte ich NULL (auf dem Webserver, im xampp steht der angegeben Wert drin).
    Rufe ich das Plugin aber per:
    1. 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?


  • 1
  • hydrococcus hydrococc...
    Padawan
    0 x
    36 Beiträge
    0 Hilfreiche Beiträge
    21. 06. 2012, 09:29

    Hallo zusammen,

    hab eine Lösung gefunden:

    1. function getTypoScriptForAJAXRequest(){
    2.  
    3. $pid = $this->getPageId();
    4.  
    5. // eID specific initialization of user and database
    6. tslib_eidtools::connectDB();
    7. tslib_eidtools::initFeUser();
    8.  
    9. // initialize TSFE
    10. require_once(PATH_tslib.'class.tslib_fe.php');
    11. require_once(PATH_t3lib.'class.t3lib_page.php');
    12. $temp_TSFEclassName = t3lib_div::makeInstanceClassName('tslib_fe');
    13. $GLOBALS['TSFE'] = new $temp_TSFEclassName($TYPO3_CONF_VARS, $pid['id'], 0, true);
    14. $GLOBALS['TSFE']->connectToDB();
    15. $GLOBALS['TSFE']->initFEuser();
    16. $GLOBALS['TSFE']->determineId();
    17. $GLOBALS['TSFE']->getCompressedTCarray();
    18. $GLOBALS['TSFE']->initTemplate();
    19. $GLOBALS['TSFE']->getConfigArray();
    20.  
    21. }

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

  • 1