Флэш-сообщения, кажется, сломаны в случае перенаправления. Я сделал простой тестовый код:
public function actionTest($test = 0) {
if($test == 0) {
Yii::$app->getSession()->addFlash('success', 'Follow the white rabbit');
return Yii::$app->getResponse()->redirect(array('test', 'test' => 1));
}
return $this->render('test', []);
}
Вызываю действие без параметра, оно добавляет вспышку и перенаправляет. Когда он рендерит страницу - флэша нет.
Часть просмотра в порядке, потому что, если я установлю вспышку и сделаю рендеринг без перенаправления, он будет отображаться правильно.
Почему?
РЕДАКТИРОВАТЬ: код просмотра макета:
<?php
use frontend\widgets\Alert;
$this->beginPage();
echo $this->render('partials/head');
?>
<body class="no-sidebar">
<?= $this->beginBody() ?>
<div id="header">
<?= $this->render('partials/top') ?>
<?= $this->render(Yii::$app->user->isGuest ? 'menus/guest' : 'menus/registered') ?>
</div>
<!-- Main -->
<div id="main">
<?= Alert::widget() ?>
<?= $content ?>
</div>
<?= $this->render('partials/footer') ?>
<?= $this->endBody() ?>
</body>
</html>
<?php $this->endPage() ?>