Hallo Community,
ich möchte mit einem Modul das Registrierungs-Formular der Nutzer erweitern.
Dazu habe ich den RegisterController um eine Funktion erweitert, die über das Template “form/fieldset/user_account.tpl” aufgerufen wird. Das ganze funktioniert soweit ganz gut.
Nun habe ich aber festgestellt, dass wenn der Nutzer sich während des Bestellvorgangs an der Kasse registrieren möchte (und nicht, über den Aufruf “Anmelden -> Registrieren”), zwar das o.g. Template aufgerufen wird, jedoch Smarty eine Fehlermeldung wirft:
Function 'pdkGetOrganisations' does not exist or is not accessible! (OxidEsales\Eshop\Application\Controller\UserController)
Daraufhin habe ich mir den Code mal etwas genauer angeschaut, und festgestellt, dass der Controller RegisterController von der Klasse UserController erbt.
Also habe ich mein Modul nun so umgebaut, dass ich nicht den RegisterController um meine Funktion erweitere, sondern den Controller UserController. Somit wäre meine Funktion schließlich auch in der RegisterController verfügbar, da diese ja von der UserController erbt. dachte ich…
Nach dieser Anpassung habe ich jetzt allerdings das umgekehrte Problem:
Meine Funktion kann jetzt problemlos von dem o.g. Template aufgerufen werden, wenn der Nutzer sich während des Bestellvorgangs registrieren möchte. Geht er allerdings direkt auf Registrieren (z.B. über “Anmelden -> Registrieren” auf der Website), erhalte ich die folgende Fehlermeldung:
Function 'pdkGetOrganisations' does not exist or is not accessible! (OxidEsales\Eshop\Application\Controller\RegisterController)
Ich fühle mich gerade etwas dumm. Habe ich das Prinzip der Vererbung nicht verstanden? Muss ich jetzt beide Klasse (UserController und RegisterController) um ein und die selbe Funktion erweitern damit alles läuft?
Ich würde mich freuen, wenn Ihr einen Ratschlag für mich habt 
Dann werde ich es so realisieren.