我希望在每个页面上加载的侧边栏中都有一个模态报告问题表单。我似乎无法绕过放置controller/form
初始化代码的位置。
典型的控制器操作:
public function actionContact()
{
$model = new Feedback();
if ($model->load(Yii::$app->request->post()) && $model->sendEmail()) {
Yii::$app->getSession()->addFlash('success', 'Thank you for contacting us.<br /><br />We will respond as soon as possible.');
$model = new Feedback();
}
if (Yii::$app->request->isPjax) {
return $this->renderAjax('contact', [
'model' => $model,
]);
} else {
return $this->render('contact', [
'model' => $model,
]);
}
}
首次调用操作时会设置$model
,但如果要将模式放在侧边栏中,则可以调用每个控制器和/或controller/action
,并且我不会我希望每次重复$model
初始化(DRY)。
我不确定这是自定义widget
,controller->beforeAction
还是其他内容的主要条件。
非常感谢任何见解。