@hollanditkzn

Как настроить уведомление, чтобы появлялось в том случае, когда было установлено флеш сообщение?

Использую виджет kartik/growl и мне не понятно одно, что когда перехожу на любую страницу виджет срабатывает, а нужно сделать так, чтобы виджет срабатывал в том случае если установлено флеш сообщение ему. Допустим у меня в шаблоне views/layout.php
<?= Growl::widget([
                'body' => Yii::$app->session->getFlash('update')
        ]) ?>

В контроллере
public function actionUpdate($id)
    {
        $model = $this->findModel($id);
  
        if ($model->load(Yii::$app->request->post())) {
            ...
            $model->validate();
            if (!$model->save()) {
                print_r($model->getErrors());
            } else {
                $model->save();
                Yii::$app->session->addFlash('update', 'Успешно отредактирован заказ');
                return $this->redirect(['view']);
            }
        }

        return $this->render('update', [
            'model' => $model,
        ]);
    }

Но как я оповестил, что у меня growl
Появляется всегда, какую-бы страницу я бы не нажал, всегда она появляется
  • Вопрос задан
  • 115 просмотров
Решения вопроса 1
qonand
@qonand
Software Engineer
if (Yii::$app->session->hasFlash('update')) {
    echo Growl::widget([
        'body' => Yii::$app->session->getFlash('update')
    ]);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы