-
Notifications
You must be signed in to change notification settings - Fork 39
Messages
Компонент для организации так называемых flash-сообщений - т.е. уведомлений от системы пользователю. Данные сообщения завязаны на Translator, так что нет необходимости лишний раз его дёргать.
Технология Adobe Flash тут ни при чём
Нет
Данные сообщения одинаково работают как с обычными HTTP запросами, так и с AJAX запросами:
<?php
// from controller
$this->getMessages()->addNotice($text)
$this->getMessages()->addWarning($text)
$this->getMessages()->addError($text)
Внутри методов пакета идёт автоматический вызов переводчика Translate, так что нет необходимости оборачивать текст сообщения в обёртку
__(..)
Если после отработки кода скрипта необходимо сделать перенаправление на другую страницу, то дополнительных манипуляций не требуется, достаточно будет использовать средства самого фреймворка:
<?php
// from controller
$this->getMessages()->addNotice('Thank you');
$this->redirect($url);
Для вывода сообщений в шаблоне:
<?php
if (app()->hasMessages()) {
$messages = app()->getMessages()->popAll();
foreach ($messages as $type => $set) {
echo "<h3>$type</h3>"
foreach ($set as $message) {
echo "<p>$message</p>";
}
}
}
Для вывода сообщений с использованием bluz.notify.js встроенного в skeleton:
<?php if (app()->hasMessages()):
// JS not allow read headers of current request, only for XMLHTTPRequests :(
?>
<script>
require(['bluz.notify'], function(notify) {
notify.set(<?=json_encode(app()->getMessages()->popAll())?>);
});
</script>
<?php endif; ?>
Acl
Application
Auth
Cache
Common
— Exception
— Collection
— Container
— Helper
— Options
— Singleton
Config
Controller
— Data
— Mapper
—— Crud
—— Rest
— Reflection
Crud
— Crud Table
Db
— Row
— Table
— Relations
— Query
Debug
EventManager
Grid
Http
Layout
Logger
Mailer
Messages
Nil
Proxy
Registry
Request
Response
Router
Session
Translator
Validator
View