Download the PHP package abderrahimghazali/sylius-upsell-plugin without Composer
On this page you can find all versions of the php package abderrahimghazali/sylius-upsell-plugin. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Table of contents
Download abderrahimghazali/sylius-upsell-plugin
More information about abderrahimghazali/sylius-upsell-plugin
Files in abderrahimghazali/sylius-upsell-plugin
Download abderrahimghazali/sylius-upsell-plugin
More information about abderrahimghazali/sylius-upsell-plugin
Files in abderrahimghazali/sylius-upsell-plugin
Vendor abderrahimghazali
Package sylius-upsell-plugin
Short Description Post-purchase upsell and cross-sell plugin for Sylius 2.x — Frequently Bought Together, one-click add-all-to-cart
License MIT
Homepage https://github.com/abderrahimghazali/sylius-upsell-plugin
Package sylius-upsell-plugin
Short Description Post-purchase upsell and cross-sell plugin for Sylius 2.x — Frequently Bought Together, one-click add-all-to-cart
License MIT
Homepage https://github.com/abderrahimghazali/sylius-upsell-plugin
Please rate this library. Is it a good library?
Informations about the package sylius-upsell-plugin
Sylius Upsell Plugin
Post-purchase upsell and cross-sell plugin for Sylius 2.x stores — Frequently Bought Together, checkout upsell modals, and one-click add-all-to-cart.
--- ## Screenshots ### Admin — Upsell Offers Grid  ### Admin — Upsell Offer Form  ### Shop — Checkout Upsell Modal  ### Admin — Upsell Analytics Dashboard  ## Features - **Frequently Bought Together section** on every product page with manual or algorithmic product suggestions - **One-click add-all-to-cart** for the entire FBT bundle - **Algorithmic co-purchase detection** from order history with configurable thresholds - **Checkout upsell modal** — intercepts "Place order" with a special offer before completing the order - **Trigger product targeting** — tie offers to specific products in the cart, or use catch-all - **Discount percentage** — upsell product added to cart at discounted price - **Customizable copy** — headline, body, CTA label, and decline label per offer - **Date scheduling** — start and end dates for time-limited offers - **Priority system** — control which offer wins when multiple match - **Admin CRUD** for upsell offers under Marketing, and global FBT settings under Configuration - **Drag-and-drop reordering** of manual FBT relations with optional discount badges - **Analytics dashboard** — impressions, acceptance rate, extra revenue, daily chart (Chart.js) - **Impression tracking** — automatic for both FBT and checkout upsell (shown / accepted / declined) ## Requirements - Sylius 2.1+ - Symfony 7.0+ - PHP 8.2+ ## Installation 1. Require the plugin: 2. Register the bundle in `config/bundles.php` (if not auto-discovered): 3. Import routes — create `config/routes/sylius_upsell.yaml`: 4. Generate and run the migration: 5. Register the Stimulus controllers in `assets/shop/controllers.json`: 6. Symlink the plugin assets and rebuild: Add to your project's `package.json` dependencies: Then install and rebuild: ## Entity: UpsellRelation | Field | Type | Description | |-------|------|-------------| | `sourceProduct` | ManyToOne (Product) | The product page where the FBT section appears | | `relatedProduct` | ManyToOne (Product) | The product suggested alongside the source | | `position` | int | Display order (lower = first) | | `discount` | int? | Optional discount percentage for the related product | | `createdAt` | datetime | Timestamp of creation | ## Entity: UpsellOffer | Field | Type | Description | |-------|------|-------------| | `name` | string | Admin label for the offer | | `enabled` | boolean | Active/inactive toggle | | `triggerProduct` | ManyToOne (Product) | The purchased product that triggers this offer | | `offerProduct` | ManyToOne (Product) | The product offered in the upsell modal | | `offerVariant` | ManyToOne (ProductVariant)? | Optional specific variant to offer | | `discountPercent` | int | Discount percentage shown in the modal | | `headline` | string | Modal heading (default: "Wait! A special offer just for you") | | `body` | text? | Optional body text | | `ctaLabel` | string | Accept button text (default: "Yes, add it!") | | `declineLabel` | string | Decline button text (default: "No thanks") | | `priority` | int | Higher = shown first when multiple offers match | | `startsAt` | datetime? | Optional start date | | `endsAt` | datetime? | Optional end date | ## Entity: UpsellConfiguration | Field | Type | Description | |-------|------|-------------| | `enabled` | boolean | Global FBT feature toggle | | `minCoPurchaseThreshold` | int | Minimum co-purchase count for algorithmic suggestions (default: 3) | | `maxProductsShown` | int | Maximum products in the FBT section (default: 4) | | `sectionTitle` | string | Heading text (default: "Frequently bought together") | | `showDiscountBadge` | boolean | Show/hide discount badges on FBT products | | `fallbackStrategy` | string | `algorithmic`, `manual_only`, or `disabled` | ## Architecture ## Testing ## License MIT. See [LICENSE](LICENSE).All versions of sylius-upsell-plugin with dependencies
PHP Build Version
Package Version
Requires
php Version
^8.2
doctrine/orm Version ^2.17 || ^3.0
sylius/sylius Version ^2.1
symfony/cache Version ^7.0
symfony/framework-bundle Version ^7.0
symfony/stimulus-bundle Version ^2.0
doctrine/orm Version ^2.17 || ^3.0
sylius/sylius Version ^2.1
symfony/cache Version ^7.0
symfony/framework-bundle Version ^7.0
symfony/stimulus-bundle Version ^2.0
The package abderrahimghazali/sylius-upsell-plugin contains the following files
Loading the files please wait ...