Всем добрый день! Необходимо вызвать модальное окно из контроллера во вьюшке .
В контроллере следующая функция
public function actionFulfilled($id)
{
$model = $this->findModel($id);
$model->status = Zakaz::STATUS_EXECUTE;
$model->id_unread = 0;
if($model->fact_oplata === null || $model->fact_oplata === 0){
Yii::$app->session->addFlash('errors', 'Нельзя закрыть заказ с оплатой 0!');
$modalErrorOplata = true;
return $this->redirect(['admin']);
} else {
if ($model->save()) {
Yii::$app->session->addFlash('update', 'Выполнен заказ №'.$model->prefics);
return $this->redirect(['admin']);
}else {
print_r($model->getErrors());
Yii::$app->session->addFlash('errors', 'Произошла ошибка!');
}
}
}
во вьюшке
<?php
var_dump($modalErrorOplata);
if($modalErrorOplata === true){
$script = <<<JS
function modalView(button, modal) {
$('body').on('click', button, function(e){
e.preventDefault();
$(modal).modal('show')
.find('.modalContent')
.load($(this).attr('value'));
});
}
modalView('.modalZakazview-button', '#modalZakazview');
JS;
$this->registerJs($script);
}
?>
<?php Modal::begin([
'id' => 'modalZakazview',
'header' => '<h2>Полный просмотр</h2>'
]);
echo '<div class="modalContent"></div>';
Modal::end(); ?>
Я понимаю что $modalErrorOplata = true; в контроллере и проверка это во вьюшке полная фигня и так не передается параметр. Надо его как то положить в редирект или объявить в контроллере и как то читать во view....