Photo: free stock photography (Unsplash licence) — see imprint
How it actually works
Your UI runs in an iframe served by your app, and talks to the admin through a message bridge. You can open modals, show notifications, read the current entity and add buttons to detail pages — without shipping a single line of Vue into Shopware's build.
The upgrade argument
A plugin that overrides an admin Vue component breaks when Shopware refactors that component — and it will. An extension that only speaks through the bridge keeps working. If you have ever spent a week fixing an admin override after a minor update, you already know why this matters.
Design for the frame you are in
Your iframe should look like Shopware, not like your product. Use the admin's spacing and colours, keep the interaction patterns familiar, and never open your own modal inside their modal. A jarring extension gets uninstalled no matter how good the logic is.
Where you still need a plugin
Deeply reworking an existing admin grid, or changing behaviour that has no bridge event. Be honest about it early — discovering the missing capability three weeks in is an expensive way to learn the API surface.
- Bridge-only extensions survive admin refactors.
- Make your iframe look like Shopware, not like you.
- Check the API surface before you promise the feature.
We do this for a living — Shopware, Node.js, React, ERP integration and automation for B2B.
Talk to an engineer