Wo muss ich den Code für die Formularverarbeitung platzieren damit dieser in jedem Controller aufgerufen wird? Oder sollte ich das Formular auf jeder view und in jedem Controller integrieren?
Ich hoffe ich konnte mein Problem verständlich formulieren.
class MainController extends CController
{
public function beforeAction($action)
{
//deine Formularverarbeitung
}
}
class PostController extends MainController
{
public function actionIndex()
{
}
}
Ich habe zur Zeit keinen MainController. Gehe davon aus, dass ich eine solche beforAction in jedem meiner Controller einbaue? oder ist das wie ein FrontController zu verstehen?
in dem du alle deine controller von einem controller ableitest, der beforeAction() implementiert, musst du beforeAction() nicht in jedem deiner controller definieren, das nennt sich vererbung
für mich ist ein FrontController die index.php, also CWebApplication
Ich seh das etwas anders: Nur weil das Suchformular überall zu sehen sein soll, heißt das doch noch lange nicht, dass auch die zugehörige Action in jedem Controller vorhanden sein muss. Ich würde das Suchformular immer zur selben Action submitten lassen. Das Suchergebnis soll doch vermutlich auch immer gleich aussehen. Da tust du dich mit einer dedizierten Action dafür doch wesentlich leichter.