ecomhouse / breezenotifications
Breeze storefront notifications bar for Magento 2 by ecomhouse
Package info
github.com/ecomhouse/breezenotifications
Language:HTML
Type:magento2-module
pkg:composer/ecomhouse/breezenotifications
Requires
- php: >=8.2
- ecomhouse/notifications: ^1.1 || ^2.0
This package is auto-updated.
Last update: 2026-08-05 11:31:04 UTC
README
Breeze (Swissup) storefront companion for ecomhouse/notifications. Renders the same
topbar notification bar for Magento themes built on Swissup Breeze — the parent module manages
the content (admin UI, REST API), this module only supplies the Breeze-specific presentation.
Polska wersja dokumentacji: docs/jak-uzywac.md
Table of Contents
Requirements
| Requirement | Version |
|---|---|
| Magento Open Source | 2.4.x |
| PHP | >= 8.2 |
ecomhouse/notifications |
^1.1 |
| Swissup Breeze theme | required (sequenced in etc/module.xml, not a Composer dependency) |
How it works
- The notification bar block (
ecomhouse.notifications) is declared by the parent module in its own genericdefault.xml, so it exists on every theme. This module'sview/frontend/layout/breeze_default.xml— a Breeze-only handle, added automatically only when the Breeze theme is active — swaps in a Breeze-specificEcomHouse_BreezeNotifications::notifications.phtmltemplate, so Luma keeps rendering the parent's own template untouched. notifications.phtmlreuses the parent'sViewModel\Notifications(same instance, sameisModuleEnabled()/ config reads / CMS-block-dropdown rendering as Luma) — only the markup differs. Disabling the parent's Enable module setting hides the bar on Breeze exactly like it does on Luma; there is nothing to gate separately in this module.- Two JS files are registered into Breeze's own
breeze.jsbundle (breeze_default.xml), bothautoload: true:js/notificationsCookie.js(this module) — a jQuery UI widget remembering dismissal via a cookie (ecomhouse_notifications_hide).EcomHouse_Notifications/js/notificationsSlider— loaded directly from the parent module's ownweb/js/, not duplicated here; a plain (non-RequireJS-widget) touch-swipe slider for the mobile dot navigation.
- Visual styling (gradient background, topbar layout, mobile dots) lives in
ecomhouse/breezetheme(web/css/source/components/_notifications.less), not in this module — this module ships markup and behavior only, no CSS of its own.
See docs/how-to-use.md for a longer walkthrough and troubleshooting.
Installation
Composer
composer require ecomhouse/breezenotifications bin/magento module:enable EcomHouse_BreezeNotifications bin/magento setup:upgrade bin/magento setup:di:compile bin/magento setup:static-content:deploy -f bin/magento cache:flush
Manual
cd app/code mkdir -p EcomHouse/BreezeNotifications # Extract the module files into the directory created above bin/magento module:enable EcomHouse_BreezeNotifications bin/magento setup:upgrade bin/magento cache:flush
Verify
bin/magento module:status EcomHouse_BreezeNotifications
Expected: Module is enabled.
Configuration
None of its own — this module reads the parent module's setting:
Path: Stores > Configuration > EcomHouse Extensions > Notifications
| Field | Description |
|---|---|
| Enable module | Master switch for the notification bar, on both Luma and Breeze. |
| Notifications background color from/to | Gradient start/end color (hex). Both must be set for the gradient to apply on Breeze too. |
Notification content itself (title, link, icon, dropdown) is managed at
ecomhouse > Notifications > Manage notifications in the admin — see the parent module's own
docs/how-to-use.md for the full field reference. This module has no configuration section of
its own.
How to use
See docs/how-to-use.md for the customer-facing walkthrough and troubleshooting. Polish version: docs/jak-uzywac.md.
Uninstalling
bin/magento module:disable EcomHouse_BreezeNotifications composer remove ecomhouse/breezenotifications bin/magento setup:upgrade bin/magento cache:flush bin/magento setup:static-content:deploy -f
The module stores no data of its own — all notification content lives in the parent module's
tables and is unaffected. Uninstalling only removes the Breeze-specific presentation; the
storefront falls back to Breeze rendering the parent module's own template. That template's
markup shares the same CSS classes ecomhouse/breezetheme styles, so the bar may still look
close to correct, but its text/x-magento-init component relies on a RequireJS alias
(notificationsCookie) that only the parent's own requirejs-config.js maps — Breeze doesn't
run RequireJS, so the dismiss-cookie and mobile-slider behavior stop working. Don't rely on the
fallback as a substitute for this module on a Breeze store.
Support
- Email: opensource@ecom.house
- Website: https://ecom.house/
- Changelog: CHANGELOG.md
- License: OSL-3.0