ecomhouse/breezenotifications

Breeze storefront notifications bar for Magento 2 by ecomhouse

Maintainers

Package info

github.com/ecomhouse/breezenotifications

Language:HTML

Type:magento2-module

pkg:composer/ecomhouse/breezenotifications

Transparency log

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

0.1.3 2026-08-05 11:18 UTC

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 generic default.xml, so it exists on every theme. This module's view/frontend/layout/breeze_default.xml — a Breeze-only handle, added automatically only when the Breeze theme is active — swaps in a Breeze-specific EcomHouse_BreezeNotifications::notifications.phtml template, so Luma keeps rendering the parent's own template untouched.
  • notifications.phtml reuses the parent's ViewModel\Notifications (same instance, same isModuleEnabled() / 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.js bundle (breeze_default.xml), both autoload: 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 own web/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