Zum Inhalt springen

femanager Controller um Repository erweitern (inject)

Erstellt am 5. Februar 2015 · 2 Antworten · letzte Antwort am 6. Februar 2015

Tags: femanager, Frage

HH ·

Hallo,
schon wieder das nächste Problem,
ich möchte den femanger gerne um eine Selectfeld erweitern. Ich habe hinbekommen, dass mir im Frontend in der Invitation eine Selectfeld angezeigt wird. Den Array habe ich zu Testzwecken in der NewAction des Invitationcontrollers befüllt.

Jetzt würde ich aber gerne den Inhalt aus einer Tabelle meiner Extension benutzen.
In einer anderen Extension hatte ich immer per inject das entsprechende Repository eingebunden und konnte somit auf die Klasse zugreifen.
Das Funktioniert hier aber irgendwie nicht, ich bekomme einen Fatal error: Call to a member function findAll()

Irgendwie scheint er das Repository nicht einzubinden.

So hab ichs gemacht:

class InvitationController extends \In2\Femanager\Controller\InvitationController {

/**
         *fachRepository
         *
         *@var \RPS\RpsFachberaterDb\Domain\Repository\FachRepository
         *@inject*/
        protected $fachRepository;
        
	/**
	 * userRepository
	 *
	 * @var \TYPO3\CMS\Extbase\Domain\Repository\FrontendUserRepository
	 * @inject
	 */
	protected $userRepository;

         /**
	 * action new
	 *
	 * @return void
	 */
	public function newAction(\RPS\RpsFachberaterDb\Domain\Model\Fbdex $user = NULL) {
		parent::newAction();
		
                $this->view->assign('nutzer', $this->userRepository->findAll());
                $this->view->assign('fach', $this->fachRepository->findAll());
              
		
	}

mein fachRepository.php sieht so aus:

class FachRepository extends \TYPO3\CMS\Extbase\Persistence\Repository {

	
}

was übersehe ich?!?!
Danke!

einpraegsam.​net · · Beste Antwort

Du musst auf korrekte Schreibweise achten.

...
*@var ...
*@inject*/

sollte so aussehen

...
* @var ...
* @inject
*/

Cache leeren nicht vergessen

Hinweis: Wenn du eine IDE nutzt (z.B. PhpStorm) solltest du gleich entsprechende Hinweise bekommen, wenn das PhpDoc falsch ist.

HH ·

Oh Mann!
Danke!
Man sollte eben doch lieber 3Stunden vorher aufhören.
Hat problemlos funktioniert!

Danke übrigens auch für die super Extension femanager!