Показать исключения и исключения chttpexception в модальном yii2 - PullRequest
0 голосов
/ 02 марта 2019

Привет, ребята, я создаю веб-сайт, и мне нужно показать ошибку (исключение или chttpexception), когда это происходит в модальном режиме.

На самом деле модальное окно отображается пустым, но консоль отображает ошибку.

Как я могу решить это?

Спасибо.

Вот что сейчас происходит: https://i.stack.imgur.com/UV61O.png

Мне нужно это: https://i.stack.imgur.com/hPfKi.png

Действия моего контроллера:

public function actionMomios($id)
{
    $this->findModel(1000); //this number is for the error its an ID
}


Эта функция выдает ошибку:

protected function findModel($id)
{
    if (($model = Partido::findOne($id)) !== null) {
        return $model;
    }

    throw new NotFoundHttpException('El partido no se encuentra registrado'); // This is the exception i need to show

}


Это код, который вызывает модал (в виде сетки):

 'momios' => function($url,$model,$key){
        $btn = Html::button("<span class='glyphicon glyphicon-usd'></span>",[
            'value'=>Yii::$app->urlManager->createUrl('partido/momios?id='.$key),
            'class'=>'momioedit grid-action btn btn-success',
            'title'=>'Modificar momios'
        ]);
        return $btn;

        },


Мой модал впросмотр:

<?php

Modal::begin([
        'header' => '<h4>Editar Momio</h4>',
        'id'     => 'modalmomio',
        'size'   => 'modal-lg',

]);

echo "<div id='momiocontent'></div>";

Modal::end();

?>


Мой JS:

$('.momioedit').click(function(){
     $('#modalmomio').modal('show')
        .find('#momiocontent')
         .load($(this).attr('value'));

});

1 Ответ

0 голосов
/ 02 марта 2019

Вам просто нужно обернуть ваш код в блок try{}catch(){} внутри actionMomios($id), который вызывает метод findModel(), как показано ниже.

public function actionMomios($id)
{
    try{
        $this->findModel(1000); //this number is for the error its an ID
    }catch(\Exception $e){
        return $e->getMessage();
    }
}
...