меня есть модель (Callback), контроллер(CallbackController) и вью(frontend/view/callback/index.php).
Контроллер:
public function actionIndex()
{
$model = new Callback();
if ($this->request->isPost) {
if ($model->load($this->request->post()) && $model->save()) {
Yii::$app->session->setFlash('success', 'Сообщение успешно отправлено!');
return $this->redirect(Yii::$app->request->referrer);
}
}
return $this->render('index', compact('model'));
}
Пытаюсь в футер layout вывести (подключить) этот callback/inde.php
<?php echo $this->renderA('@frontend/views/callback/index.php'); ?>
callback/index.php
<?php \yii\widgets\Pjax::begin(); ?>
<?php $form = \yii\bootstrap\ActiveForm::begin(['id' => 'callback-form-index', 'action' => ['callback/index'],]); ?>
<div class="modal-body">
<?= $form->field($model, 'name')->textInput(['maxlength' => true, 'placeholder' => 'Ваше имя']) ?>
<?= $form->field($model, 'phone')->textInput() ?>
<?= $form->field($model, 'reCaptcha')->widget(
\himiklab\yii2\recaptcha\ReCaptcha2::class,
[
'siteKey' => 'мой ключ, // unnecessary is reCaptcha component was set up
]
) ?>
</div>
<div class="modal-footer">
<?= \yii\helpers\Html::submitButton('Заказать обратный звонок', ['class' => 'callback_btn', 'name' => 'callback-button', 'id' => 'refreshButton1', 'onclick' => "yaCounter51997982.reachGoal('buttonCallback'); return true;"]) ?>
</div>
<?php \yii\bootstrap\ActiveForm::end(); ?>
<?php \yii\widgets\Pjax::end(); ?>
Но у меня вылетает ошибка:
Call to a member function isAttributeRequired() on null
Ругается на поля которые пользователь должен заполнять.
Подскажите пожалуйста, как это можно побороть.
Когда в футере вызываете рендер файла - туда нужно передать соответствующие переменные В данном случае у вас не передается $model, от чего функция формирования полей вызывается на $model = null и выбрасывается исключение Call to a member function isAttributeRequired() on null
Я пробовал вот так: <?php echo $this->render('@frontend/views/callback/index.php', ['model' => $model,]); ?> Результат один и тот же. Я просто чего-то не понимаю, как нужно сделать
Пусто
Ну вот вы ничего не передаете и пытаетесь сформировать на этом ничего форму)
Обсуждают сегодня