Всем привет, столкнулся с такой проблемой. Делаю функцию обратного звонка У

меня есть модель (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

Ругается на поля которые пользователь должен заполнять.
Подскажите пожалуйста, как это можно побороть.

4 ответов

20 просмотров

Когда в футере вызываете рендер файла - туда нужно передать соответствующие переменные В данном случае у вас не передается $model, от чего функция формирования полей вызывается на $model = null и выбрасывается исключение Call to a member function isAttributeRequired() on null

Максим Михалыч- Автор вопроса
Yaroslav
Когда в футере вызываете рендер файла - туда нужно...

Я пробовал вот так: <?php echo $this->render('@frontend/views/callback/index.php', ['model' => $model,]); ?> Результат один и тот же. Я просто чего-то не понимаю, как нужно сделать

Максим Михалыч- Автор вопроса

Пусто

Максим Михалыч
Пусто

Ну вот вы ничего не передаете и пытаетесь сформировать на этом ничего форму)

Похожие вопросы

Обсуждают сегодня

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Привет!) Кто как юзает переменные в строках?) Чисто ради интереса Вот так: echo "У меня {$bananasAmount} бананов"; Или вот так: echo "У меня ${bananasAmount} бананов";
Виталий
3
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
разработчик ботов скидывает портфолио, боты которые он уже создал. А вот как узнать что это именно он их создал?
Gosudar
4
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Карта сайта