@pavlikmd

Как убрать стандартный alert в Yii?

Здравствуйте, нужна помощь в yii. Хочу сделать вывод статуса формы
вот код в контролере
class UserController extends Controller {
    public function actionIndex() {
 
        $this->view->title = "Форма";
        $models = new TestForm();
        if($models->load(\Yii::$app->request->post())) {
            if($models->validate()) {
                \Yii::$app->session->setFlash('success', 'Форма отправлена');
                return $this->refresh();
            } else {
                \Yii::$app->session->setFlash('error', 'Форма не отправлена');
            }
        }
        return $this->render('index', compact('models'));
    }
}

, но мне нужно вывести эту плашку в другом месте, сделал так
<?php if(\Yii::$app->session->hasFlash('success')) : ?>
            <div class="alert alert-success alert-dismissable">
                <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
                <strong>Успешно!</strong> <?=  \Yii::$app->session->getFlash('success'); ?>
            </div>
        <?php endif; ?>

понятное дело что их выведется 2 штуки, вопрос как убрать стандартную ?

5a554abf24ba2806885005.png
верхняя стандартная как ее убрать ?

p.s и как изменять стандартный текст ("форма отправлена")?
  • Вопрос задан
  • 193 просмотра
Решения вопроса 1
proudmore
@proudmore
Она в layout лежит сверху от контейнера. Оттуда убираете и нет проблем. По факту вам даже нужно не убрать ее, а переместить на место нового алерта, а ваш код убрать, поскольку он лишен гибкости.

Что касается "стандартного" текста алерта...
if($models->validate()) {
                \Yii::$app->session->setFlash('success', 'Форма отправлена 1');
                return $this->refresh();
            } else {
                \Yii::$app->session->setFlash('error', 'Форма не отправлена 1');
            }
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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