Hallo liebe Liste, 

ich versuche gerade einige pi_based Extensions auf TYPO3 6.2 hochzuziehen. 
Dabei stolpere ich über folgende Konstruktion: 

in einer Extension (ah_members) wird eine Klasse einer anderen Extension 
(ah_lib) geladen: 

       if( t3lib_extMgm::isLoaded(‚ah_lib', 0)) {
         include_once(t3lib_extMgm::extPath(‚ah_lib').'lib/class.tx_ahlib.php');
         $this->ahLib = t3lib_div::makeInstance('tx_ahlib');
      }

das include_once funtkioniert ja nicht mehr und muss durch einen autoloader 
ersetzt werden. Ich habe also eine Datei ext_autoload.php erstellt im 
Verzeichnis der Ext ah_members: 

/typo3conf/ext/ah_members/ext_autoload.php

mit dem Inhalt: 

$src = t3lib_extMgm::extPath('ah_lib').'lib/class.tx_ahlib.php';
return array(
    'tx_ahlib_tx_ahlib' => $src
);

wobei ah_lib die Extension ist, die Klassendatei class.tx_ahlib.php heisst und 
die Klasse tx_ahlib - einfach aus dem include-Befehl übertragen. Müsste soweit 
ja stimmen. Problem ist der String im Array: wie wird der zusammengesetzt? 

'tx_myext_myclass‘ würde doch zu  'tx_ahlib_tx_ahlib‘ oder? 
Funktioniert aber nicht … 

wenn ich den Code in ah_members so ändere: 
       if( t3lib_extMgm::isLoaded('ah_lib', 0)) {
         $this->ahLib = t3lib_div::makeInstance('tx_ahlib');
      }
bekomme ich den Fehler, dass die Klasse tx_ahlib fehlt. 

Kann mir jemand auf die Sprünge helfen? 

Wie muss sich dieser String zusammensetzen?
Stimmt mein Ansatz überhaupt, in ah_members zu versuchen über eine ext_autoload 
eine Klasse aus einer anderen Extension zu laden? Oder habe ich hier einen 
generellen Denkfehler drin? 

Danke
Peter





--
Xing: http://www.xing.com/profile/Peter_Linzenkirchner
Web: http://www.typo3-lisardo.de
Facebook: http://tinyurl.com/lisardo-multimedia

_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an