Hallo,
der Vollständigkeit halber will ich diesen alten Post noch mal aktualisieren.
Ich weiss nach unzähligen Änderungen und Versuchen nicht mehr was es
letzendlich war, aber das Autoloader-Problem konnte gelöst werden und die
Klasse kann nun mit dem Object-Manager geladen werden. Es scheint unmöglich in
einem Formhandler-Custom-Finisher, der von der Klasse
Tx_Formhandler_AbstractFinisher abgeleitet ist, auf Extbase-Repositories
zuzugreifen.
Versuch 1:
<?php
class Tx_AbcTest_Finisher_MyFinisher extends Tx_Formhandler_AbstractFinisher {
/**
* @var \Abc\AbcTest\Domain\Repository\FileRepository
* @inject
*/
protected $fileRepository;
public function process() {
$temp = $this->fileRepository->findAll();
}
}
?>
Ergebnis:
Fatal error: Call to a member function findAll() on a non-object in ...
________________________________________________________________________________
Versuch 2:
<?php
class Tx_AbcTest_Finisher_MyFinisher extends Tx_Formhandler_AbstractFinisher {
public function process() {
$this->fileRepository = new \Abc\AbcTest\Domain\Repository\FileRepository();
$temp = $this->fileRepository->findAll();
}
}
Ergebnis:
PHP Catchable Fatal Error: Argument 1 passed to
TYPO3\CMS\Extbase\Persistence\Repository::__construct() must implement
interface TYPO3\CMS\Extbase\Object\ObjectManagerInterface, none given, called
in
/home/www/test/typo3conf/ext/abc_test/Classes/Finisher/Tx_AbcTest_Finisher_MyFinisher.php
on line 6 and defined in
/home/www/typo3/typo3_src-6.2.10/typo3/sysext/extbase/Classes/Persistence/Repository.php
line 75
________________________________________________________________________________
Versuch 3:
<?php
class Tx_AbcTest_Finisher_MyFinisher extends Tx_Formhandler_AbstractFinisher {
public function process() {
$this->objectManager =
\TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('\TYPO3\CMS\Extbase\Object\ObjectManager');
$this->objectManager->get('Abc\\AbcTest\\Domain\\Repository\\FileRepository');
$temp = $this->fileRepository->findAll();
}
}
Ergebnis:
$temp->count() = 0
$temp->getFirst = NULL
Die Funktion $temp = $this->fileRepository->findAll() wird fehlerfrei
ausgeführt. Die bestehenden Daten werden aber nicht gefunden.
Gruß
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german