Zum Inhalt springen

Auf Methode anderer Extbase Extension zugreifen

Erstellt am 7. Januar 2015 · 2 Antworten · letzte Antwort am 7. Januar 2015

Tags: Frage

Halion ·

Hallo liebe Typo3 Gemeinde,

ich würde gerne aus meiner Extbase Extension auf eine Methode/Repository einer anderen Extension zugreifen. Hier würde ich gerne einen Parameter übergeben und den return Wert auswerten.

Wie mache ich das am einfachsten?
(Beide Extensions stammen von mir selber)

Wäre Super wenn jemand einen Tip hat!

Gruß
Halion

Unbekannter Benutzer ·

Dazu könntest du beispielsweise in einem Controller von Ext1 das gewünschte Repository von Ext2 injecten und die gewünschte Funktion aufrufen. Das injecten funktioniert vom Prinzip her genau so wie das injecten eines Repository aus der Extension, in der du dich befindest.

Halion · · Beste Antwort

Danke dir, das hat echt gut funktioniert!

Habe die Klasse folgendermaßen injected, weil ich noch Typo3 4.5 einsetze.
Im Grunde muss man nur aus der Ziel Extension den Part im Controller kopieren wo das repository auch dort injected wird.

/**
	 * zipcodeRepository
	 *
	 * @var Tx_ZipcodeDelivery_Domain_Repository_ZipcodeRepository
	 */
	protected $zipcodeRepository;

	/**
	 * injectZipcodeRepository
	 *
	 * @param Tx_ZipcodeDelivery_Domain_Repository_ZipcodeRepository $zipcodeRepository
	 * @return void
	 */
	public function injectZipcodeRepository(Tx_ZipcodeDelivery_Domain_Repository_ZipcodeRepository $zipcodeRepository) {
		$this->zipcodeRepository = $zipcodeRepository;
	}

Hier ist nochmal im Detail geschrieben wie es geht:http://wiki.typo3.org/Dependency_Injection

Gruß
Halion