A Symfony bundle for displaying Bootstrap toasts from flash messages.
Make sure Composer is installed globally, as explained in the installation chapter of the Composer documentation.
Open a command console, enter your project directory and execute:
composer require asmitta-01/toast-bundleif your application dont't use Symfony Flex, enable the bundle in config/bundles.php:
return [
// ...
Asmitta\ToastBundle\AsmittaToastBundle::class => ['all' => true],
];Create a configuration file at config/packages/asmitta_toast.yaml, read docs.
use Asmitta\ToastBundle\Enum\ToastType;
public function someAction(Request $request): Response
{
$this->addFlash('success', 'Operation completed successfully!'); // 'success' or ToastType::SUCCESS->value
$this->addFlash('warning', 'Please check your input.');
$this->addFlash('error', 'Something went wrong.');
$this->addFlash('info', 'Here is some information.');
return $this->render('your_template.html.twig');
}<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>If you're going to show the progress bar in your toasts, also include this css file:
<link href="{{ asset('bundles/asmittatoast/css/toast-progress-bar.css') }}" rel="stylesheet">{{ render_toasts() }}The bundle supports these flash message types:
success→ Green toastwarning→ Yellow toasterrorordanger→ Red toastinfo(default) → Light Blue toast
- Automatic mapping of flash message types to Bootstrap toast variants
- Configurable auto-hide timer (default: 5 seconds)
- Flexible positioning (7 positions available, see ToastPosition Enum)
- Limit maximum toasts per type
- Optional progress bar showing remaining time
- Dismissible toasts with close button
- Responsive design
- Twig template-based rendering
- Full configuration support