norea/bagisto-announce

Coming-soon product status, "notify me" subscriptions and a release-newsletter manager for Bagisto.

Maintainers

Package info

github.com/zilber-llm/Bagista-announce

pkg:composer/norea/bagisto-announce

Transparency log

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.0 2026-08-04 18:26 UTC

This package is auto-updated.

Last update: 2026-08-04 20:16:51 UTC


README

Latest Version Total Downloads License: MIT

Coming-soon product status, "notify me" subscriptions, and an admin release-newsletter manager for Bagisto 2.x.

Turn any product into an announcement ("coming soon"): the storefront shows a Notify me form instead of the price/buy button, e-mails are collected per product, and from Admin → Marketing → Announcements you compose and send a release newsletter to the people who subscribed — only to those you haven't notified yet.

  • Coming-soon flag — a boolean coming_soon product attribute (created automatically, sits next to Featured in the product settings).
  • Notify-me capture — a public, rate-limited endpoint stores subscriber e-mails per product.
  • Newsletter manager — cards per announced product with subscriber counts; a modal to compose/edit the subject & body and send.
  • Queued sending — mails go out through Laravel's queue in batches; each recipient is marked sent so re-sends never duplicate.
  • Subscriber editor — click the count to open the list (date, e-mail, editable Sent flag); unchecking returns an address to "new" for the next send.
  • i18n — English, Ukrainian, Polish, Russian included; fully translatable.

License: MIT.

Screenshots

Admin → Marketing → Announcements — every coming-soon product with its subscriber counts:

Admin — announcements list

Compose & send a release newsletter Storefront — "notify me"
Compose newsletter Storefront notify-me

Requirements

  • Bagisto 2.x (Laravel 11/12, PHP 8.1+)
  • A running queue worker (sending is queued):
    php artisan queue:work

Installation

Install via Composer:

composer require norea/bagisto-announce

Or pin the major version: composer require norea/bagisto-announce:^1.0

Run the migrations (creates the subscriber/campaign tables and the coming_soon attribute):

php artisan migrate

Optionally publish the config:

php artisan vendor:publish --tag=announce-config

Clear caches so the new menu item and routes are picked up:

php artisan optimize:clear

Storefront integration (one include)

The admin side works out of the box. To show the Notify me form on the product page, add this include where the buy button is — in a theme override of packages/Webkul/Shop/src/Resources/views/products/view.blade.php (or your theme's copy):

{{-- Shows a "Coming soon — notify me" box; renders nothing for normal products --}}
@include('announce::shop.notify', ['product' => $product])

To also hide the price / add-to-cart for announced products, wrap those blocks:

@if (! $product->coming_soon)
    {{-- existing price + add-to-cart / buy-now markup --}}
@endif

That's it — the partial includes its own JavaScript and posts to the package's CSRF-exempt, rate-limited announce/notify endpoint.

Optional: badge on catalog cards

If you expose the attribute in your product API resource ('coming_soon' => (bool) $this->coming_soon), you can show a "Coming soon" badge on listing cards and hide their add-to-cart button with a simple v-if="! product.coming_soon" in the card component.

Usage

  1. Edit a product → in the settings turn on Coming soon, save.
  2. The product page shows the Notify me form; visitors subscribe.
  3. Go to Admin → Marketing → Announcements. Each announced product shows how many subscribed and how many are new.
  4. Click Compose newsletter, edit subject/body, Send — it queues and mails only the new subscribers, then marks them sent.
  5. Click the subscriber count to view/edit the list; uncheck Sent to include someone again next time. Save to apply.
  6. When the product actually launches, turn Coming soon off — it becomes a normal, purchasable product.

Configuration

config/announce.php:

Key Default Description
attribute_code coming_soon Boolean product attribute that flags an announcement.
chunk_size 50 Recipients processed per batch when a campaign runs.

How it stores data

  • announce_subscribersproduct_id, email, locale, notified_at.
  • announce_campaigns — one row per send: subject, body, total_recipients, sent_count, status.

License

MIT © zilber-llm