Yii2 flash

657

Від автора: вітаю вас, друзі. Ми продовжуємо цикл статей, присвячених знайомству з фреймворком Yii2. У цій невеликій статті ми з вами додамо в адмінку Yii2 flash повідомлення, з допомогою яких ми можемо передавати службову інформацію між сторінками.

Згенеруйте CRUD будь-якої частини програми для адмінки (наприклад, CRUD для постів) і спробуйте відредагувати будь-яку статтю. Зміни без проблем зберігаються, але ось користувачеві про це ніяк не повідомляється. Щоб виправити цю ситуацію, ми можемо використовувати так звані flash повідомлення.

По суті, ці повідомлення є деякими сесійними даними, які доступні лише протягом одного запиту. Тому в ситуації з CRUD вони підходять нам як не можна до речі. Приміром, ми оновили статтю, записали в flash деякий повідомлення про успішної операції, перезапросили сторінку і відразу ж показали це повідомлення. При цьому після показу повідомлення буде стерто, тобто видалено з сесії. Це потрібно для того, щоб у разі оновлення сторінки дане повідомлення не показувалося повторно.

Давайте спробуємо записати повідомлення і вивести його для користувача. Отже, звернемося до відповідного контролера і додамо наступний рядок коду:

Yii::$app->session->setFlash(‘success’, “Стаття збережена”);

Yii2 flash

Таким чином, ми записали у сесію повідомлення з ключем success. Тепер залишилося в потрібному місці виду або шаблону перевірити наявність повідомлення і вивести його. Зробити це можна, звернувшись до методів hasFlash () і getFlash().

session->hasFlash(‘success’) ): ?>


session->getFlash(‘success’); ?>

Yii2 flash

Власне, це все. Тепер при збереженні статті ми будемо бачити ось таке приємне повідомлення:

Yii2 flash

При оновленні сторінки повідомлення, як і належить, повторно виводитися не буде. Все просто.

Більше про фреймворку ви можете дізнатися з наших безкоштовних або платних уроків. Також створення найпростішого блогу на Yii2 можна подивитися в цьому циклі уроків.