FlashAlertBundle is an open source Bundle which simplifies displaying flash alerts such as success, error, info and warning
- Installation
- Download the FlashAlertBundle
- Enable the bundle
- Configure the bundle
- Usage
- Report flash alerts
- Display flash alerts
- Configuration
- Override view template
- Add custom styles
- Changelog
- License
Using Composer
Add the following to the "require" section of your composer.json
file:
"ras/flash-alert-bundle": "dev-master"
And update your dependencies
php composer.phar update
Using submodules Execute the following command on your project root:
$ git submodule add git@github.com:rasanga/FlashAlertBundle.git vendor/bundles/Ras/FlashAlertBundle
$ git submodule update --init
Registers the bundle in your app/AppKernel.php
:
<?php
...
public function registerBundles()
{
$bundles = array(
...
new Ras\Bundle\FlashAlertBundle\RasFlashAlertBundle(),
...
);
...
Add the following to your autoload.php
:
<?php
...
'Ras' => __DIR__.'/../vendor/bundles',
Add the following PHP code to report an alert message:
$this->get('ras_flash_alert.alert_reporter')->addError("Access denied");
Note: You can choose one of the following functions to call from
$this->get('ras_flash_alert.alert_reporter')
addSuccess()
addError()
addWarning()
addInfo()
Add the following twig code where you want to display alert messages:
{{ render_flash_alerts() }}
Note 1: The parent twig template would be the best place for displaying flash alerts
The following parameters can be overriden in your config.yml
or similar:
ras_flash_alert:
template: '::flashAlerts.html.twig' # defaults to 'RasFlashAlertBundle::layout.html.twig'
isAddStyles: false # defaults to true
isAddJsAlertClose: false # defaults to true
These can also be passed as parameters in the view when rendering alerts - for example:
{{ render_flash_alerts({ 'template': '::flashAlerts.html.twig', 'isAddStyles': false }) }}
- Create template in the
/Resources/views/
or in your bundle - Retrieve alerts into your template with
{{ get_alert_publisher() }}
- Include template blocks in
FlashAlertBundle/Resources/views/FlashAlert
directory or define your own blocks (followFlashAlertBundle/Resources/views/FlashAlert/flashAlerts.html.twig
to see how you can define your own template)
The bundle default template has styles defined by default. However, you can turn off default styles by configuring isAddStyles variable to false as shown in below.
{{ render_flash_alerts({ 'isAddStyles': false }) }}
Then you can define your own styles to match alert classes such as alert
,
alert-close
, alert-success
, alert-error
, alert-warning
and alert-info
Add twig method for rendering alerts: `{{ render_flash_alerts() }}`
Add twig method for retrieving alerts: `{{ get_alert_publisher() }}`
Deprecated controller view render
FlashAlertBundle is licensed under the MIT Open Source license.