Добрый день. Хочется сделать контактную форму в модальном окне, ссылка на которую находится в главном меню (т.е. в layout main).
Если брать и в SiteIndex в actionIndex поставить
public function actionIndex() {
$support = new ContactForm();
if ($support->load(Yii::$app->request->post()) && $support->contact(Yii::$app->params['adminEmail'])) {
Yii::$app->session->setFlash('contactFormSubmitted');
return $this->refresh();
}
return $this->render('index', [
'support' => $support
]);
}
а в main (layout) кладу в модальное окно
<?php $form2 = ActiveForm::begin(['id' => 'contact-form']); ?>
<?= $form2->field($support, 'name')->textInput(['autofocus' => true]) ?>
<?= $form2->field($support, 'email') ?>
<?= $form2->field($support, 'subject') ?>
<?= $form2->field($support, 'body')->textArea(['rows' => 6]) ?>
<div class="form-group">
<?= Html::submitButton('Submit', ['class' => 'btn btn-primary', 'name' => 'contact-button']) ?>
</div>
<?php ActiveForm::end(); ?>
то получаю ошибку
Call to a member function formName() on a non-object
Это как то надо форму передавать не в actionIndex, а в layout? а как это сделать?
$this->view->params['support'] = $support;
не помогает