Sylius Wishlist Plugin

The Sylius Wishlist Plugin adds powerful wishlist functionality to Sylius-based eCommerce applications. It allows customers to save products they are interested in, organize them into multiple wishlists, and export their selections for later review or manual sharing. This enhances the customer experience by supporting shopping intent planning, gift organization, and personalized product tracking, without requiring immediate purchase decisions.


Key Features

  • Wishlist Management: Customers can create, rename, delete, and organize multiple wishlists.

  • Add to Wishlist: Products can be added to any wishlist directly from the product or listing pages.

  • Remove from Wishlist: Items can be removed from wishlists individually or in bulk.

  • Move Between Wishlists: Items can be moved from one wishlist to another.

  • Wishlist Export (Sharing): Customers can export their wishlist to CSV or PDF format, enabling them to save, print, or share it manually.

  • Add to Cart from Wishlist: Customers can add individual or all wishlist items to their cart.

  • Automatic Wishlist Creation: If a customer adds an item without an existing wishlist, one is created automatically.


Use Cases

  • Enable customers to plan future purchases by saving items of interest.

  • Allow users to manage multiple shopping intents (e.g., "Birthday Gifts", "Office Setup").

  • Support manual wishlist sharing through CSV/PDF export, for use in gift planning, quotations, or B2B collaboration.

  • Enhance mobile and casual browsing experiences by reducing pressure to buy immediately.


How It Works

The plugin integrates with Sylius' customer account system and provides UI components in the shop frontend. Here's how it functions:

  • When logged-in users click "Add to Wishlist," the plugin adds the item to a default or selected wishlist.

  • Users can manage all their wishlists from a dedicated section in the account area.

  • Products can be added to the shopping cart directly from any wishlist page.

Each wishlist is a Doctrine-managed entity associated with the customer, using the standard Sylius Resource pattern. This makes it easy to:

  • Extend wishlist entities with custom fields

  • Customize behavior via Symfony services or event subscribers

  • Override templates or controllers using standard Sylius theming approaches


Tech Stack

  • Symfony Flex-based installation

  • Doctrine ORM

  • Twig-based template overrides

  • Webpack Encore for asset handling (if extended or customized)

  • Sylius UI components for seamless admin and frontend integration


🔗 Source Code

GitHub Repository: Sylius/WishlistPlugin

Last updated

Was this helpful?