FrontendController Standardfunktion

#1

Hallo zusammen,
habt ihr eine Idee, wie man elegant eine Standardfunktion in einem eigenen Frontendcontroller definiert? Also, dass bei Aufruf ohne den fnc Parameter trotzdem eine definierte Funktion ausgeführt wird.
Beispiel:
?cl=search&fnc=search -> Methode search()
?cl=search&fnc=anotherSearch -> Methode anotherSearch()
?cl= search -> Methode search()

0 Likes

#2

entweder in render() hinterlegen oder aus dem TPL heraus aufrufen $oView.->search()

0 Likes

#3

Aber wird render() nicht nach jedem Aufruf der in fnc übergebenen Methode aufgerufen?

Meines Erachtens läuft ein Aufruf eines Controllers so ab:
init()
fnc ausführen (im Controller, sonst in den Components nachsehen)
render()

Wenn ich den Aufruf also in render() hinterlege, kann ich meine Methode anotherSearch nicht mehr über fnc aufrufen, ohne dass search() getriggert wird…

Der Controller wird nicht über das Template angesteuert, sondern über einen normalen HTTP-Aufruf.

0 Likes

#4

Wenn man den Aufruf in render() so hinterlegt, dass es nur dann aufgerufen wird, wenn kein fnc get/post Parameter vorhanden ist, oder search() und anothersearch() jeweils mit einem exit; be ender, so dass render gar nicht mehr ausgeführt wird, dann wird immer nur eine der Funktionen ausgeführt

0 Likes

#5

Danke für die Ausführung deines Tipps. So siehts machbar aus.

0 Likes