[TYPO3-german] Dependency Injection Ajax Call

Jürgen Pfusterschmied j.pfusterschmied at gmx.at
Tue Oct 20 07:58:40 CEST 2015


Vielen Dank für die schnelle Antwort.

Ich rufe per AJAX
JS:
  var del = new Ajax.Request(TYPO3.settings.ajaxUrls['Administration::checkStatusAjax'], {
            onComplete : function (transport) {
                //console.log(data);
                jQuery("#systemStatus").html(transport.responseText);
            }
    });

über die eID 
ext_tables.php:
 // BE AJAX Handler
        \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerAjaxHandler (
            'Administration::checkStatusAjax',
            'PCON\\Fis\\Controller\\AdministrationController->checkStatusAjax'
        );

folgende Action im Controller auf:
 public function checkStatusAjax($parameter = array(), \TYPO3\CMS\Core\Http\AjaxRequestHandler &$ajaxObj = NULL) {
   // not working because $this->logRepository == NULL, DI not working
   $logs = $this->logRepository->findAll(); 

   // This is working, however I would like to use DI because the controller is used in BE and FE, with many services/repos
   $this->objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\CMS\Extbase\Object\ObjectManager');
   $this->logRepository = $this->objectManager->get('PCON\\Fis\\Domain\\Repository\\LogRepository');
   $logs = $this->logRepository->findAll(); 
}

Würde die DI bei der Verwendung des in pt_exbase angegeben AjaxDispatcher funktionieren?

Danke auch für den Hinweis zu deiner Extension.
Ich werde mir die von dir vorgeschlagene Technik umgehend ansehen.
Kann ich das o.g. Problem in Anlehnung  an das von dir bereitgestellten Beispiel (https://github.com/helhum/ajax_example) ohne größere Einarbeitung umsetzten? Stehe leider etwas unter zeitdruck :-)

LG Jürgen




More information about the TYPO3-german mailing list