Eigene Controller Klassen für eigenes Modul

Hallo und guten Morgen euch allen,

eine Frage kann ich wie bei Magento und Shopware auch eigene Controller Klassen und Helper Klassen schreiben? Diese Controller sollen kein Template oder ähnliches rendern, der soll nur Post Daten aus einem Formular emfangen, an eine API senden und dann wieder einen redirect an z.B. den basket Controller machen.

Ich habe einen Basket Controller in meinem Modul der vom originalen basket Controller erbt.

Wie kann ich denn Beispielsweise ein eigenes Template in ein überladenes Template einbinden? Ich habe die basket.tpl überladen und will da nun meine mycompany_form.tpl einbinden. Reicht da ein einfaches Smarty include oder was wäre die ebssere Herangehensweise?

Und noch eine wichtige Frage, aus Shopware und Magento kenne ich das Event Observer bzw. Event Dispatch System, welches ermöglicht in Controller Funktionalitäten einzugreifen ohne bestehende Core Klassen erben zu müssen (das ist nur in seltenen Fällen notwendig). Wie kann man events in Oxid einsetzen?

Vielen Dank für hilfreiche Antworten Gruß Daniel

Einige Sachen konnte ich selber heraus finden. Ein paar Fragen habe ich doch noch.

1.) Wie kann ich eine Klasse bzw. Objektinstanz aus einer Klasse die im Files Array steht in einer Controller Klasse verwenden?

Heist ich habe solches in der config stehen.


'files' => array(
		'mycompanyClient' => 'mycompany/core/mycompanyClient.php',
		'mycompanyValidator' => 'mycompany/core/mycompanyValidator.php'
	),

Ich will diese Klasse bzw. ein Objekt der Klasse und deren Methoden in einer von oxubase abgeleiteten Klasse verwenden, wie geht das?

2.) Welche Methode ist besser, eigene TPL Dataien in eine überladene includen oder mit Blöcken arbeiten?

3.) Wie verhält sich das mit Serverseitigen Events bei Oxid?

Vielen Dank für ANtwort Gruß Daniel

So bin nun wieder ein Stück weiter gekommen und mein Modul wächst immer mehr.

Nun sind aber dennoch 3 Fragen offen, wäre schön wenn die noch jemand beantworten könnte.

1.) Welche Methode ist besser, eigene TPL Dataien in eine überladene includen oder mit Blöcken arbeiten?

2.) Wie verhält sich das mit Serverseitigen Events bei Oxid?

3.) Merhsprachigkeit in den Templates, wie ist da der beste Weg?

Als Nicht-Programmierer kann ich Dir zu Punkt 1 und 2 wenig raten, das Tutorial zu Metadata und Extension-GUI kennst Du?

Punkt 3 läuft mit Sprachkeys und deren Ersetzungen durch die Inhalte der jeweiligen lang.php - dazu gibts genügend Referenzen in den Standardtemplates.

Hi,

zu 1) arbeite am besten mit Blöcken, ist am saubersten :wink:

zu 2) das Modulsystem arbeitet bei OXID etwas anders, insofern gibt es das, was Du als “serverseitige Events” bezeichnest, in unserer Welt gar nicht. Brauchst Du vielleicht was zum Lesen erstmal?

Gruß

[QUOTE=Marco Steinhaeuser;121105]Hi,

zu 1) arbeite am besten mit Blöcken, ist am saubersten :wink:

zu 2) das Modulsystem arbeitet bei OXID etwas anders, insofern gibt es das, was Du als “serverseitige Events” bezeichnest, in unserer Welt gar nicht. Brauchst Du vielleicht was zum Lesen erstmal?

Gruß[/QUOTE]

Danke schon mal für die Antwort. Ok da weiß ich das ich mit Serverseitigen Events nicht in Core Funktionalität eingreifen kann, dass bringt mich schon viel weiter.

Ich lese immer wieder die oxid Doku oder über Goggle wenn ich Probleme habe, meist finde ich auch immer was und wenn nicht seid ihr fleißigen Helferlein ja auch noch da, wenn man den Wald vor lauter Bäumen nicht sieht.

Ich muss nur noch das mit den mehrsprachigen Templates herausfinden und wie ich Preise im Warenkorb mit meinem Modul verändern kann nachträglich.

Gruß Daniel