Zum Inhalt springen

Eigenen ActionController schreiben

Erstellt am 10. Januar 2013 · 2 Antworten · letzte Antwort am 10. Januar 2013

Tags: Frage

Malte.​Hommes ·

Guten Tag,

ich verwende Typo3 4.7.7 und baue zur Zeit meine erste größere extbase Extension. Ich habe gesehen, dass man für E-Mails, wenn man Fluid-Templates benutzen will, Tx_Fluid_View_StandaloneView braucht. Das hat funktioniert.

Da ich diese Funktion gerne auch in anderen Controllern verwenden möchte, die Funktion aber nur an einer Stelle stehen soll, möchte ich gerne eine eigene Controller-Klasse erstellen die von Tx_Extbase_MVC_Controller_ActionController und von denen dann meine Extension-Controller erben.

Mein Frage ist nun folgende: Wie kann ich die neue Klasse dem System bekannt machen wenn ich sie im "ext"-Verzeichnis in einem Ordner ablege?

Für jede Hilfe bin ich äußerst dankebar.
Euer Malte

[NACHTRAG]

ich habe nun folgendes im Wiki gefunden

http://wiki.typo3.org/Autoload#Non-namespaced_example

ich habe nun im Ordner "typo3conf/ext/lib/Controller/" die Datei "ActionController.php" angelegt. Die Klasse heißt:
Tx_Lib_Controller_ActionController

Wenn ich nun aber in meinem Controller folgendes probiere:

class Tx_MyExt_Controller_LoginController extends Tx_Lib_Controller_ActionController {...

dann erhalte ich die Meldung "Tx_Lib_Controller_ActionController not found"

kainobi ·

Schau Dir nochmal genau Deinen Wiki-Link an, dann siehst Du dass Du die Datei falsch abgelegt hast (Classes/...). Nur so funktioniert das Autoloading.

Weiters hast Du ja somit eine Extension erzeugt (ExtensionKey = lib). Hast Du die auch installiert? Dazu muss auch ext_emconf.php etc. vorhanden sein...

Malte.​Hommes ·

Hallo kainobi,

vielen Dank für deine Antwort. Das mit dem "Classes"-Ordner hatte ich dummerweise übersehen.

Ich dachte das automatische Laden würde auch funktionieren ohne eine Extension anlegen zu müssen. Ich habe nun mit dem Extension-Builder die Extension angelegt und es funktioniert.

Vielen Dank nochmal!