Smart Wishlist: setup and help
Quick start
- Install the mprwishlist ZIP and open Configure.
- Keep Enable wishlist on and choose Allow guest wishlists.
- Set Maximum items to a positive value and choose Allow sharing, then save.
- Open a product listing and product page and confirm the heart buttons appear.
- Add a product and open the header wishlist link to check the count and saved item.
- Sign in and reload to confirm browser items sync to the customer list.
- Add an available saved product to cart and verify the resulting cart quantity.
Requires PrestaShop 1.6.1 or later and PHP 7.1 or later.
Setup manual
Install and configure Wishlist
In your Back Office, open Modules > Module Manager, choose Upload a module, and upload the module ZIP. Install it, then click Configure. On older PrestaShop versions, use the corresponding Modules page.
Open the module Configuration page. Your theme must render the product-list, product-page, navigation and account hooks for the buttons and links to appear.
Set wishlist options
Set these options from the module configuration page in your PrestaShop Back Office.
- Enable wishlist (
MPRWISHLIST_ENABLED). Turns the front-office wishlist feature on or off; default:1. - Allow guest wishlists (
MPRWISHLIST_GUEST). Lets guests load wishlist product details and add items to cart; guests can still save hearts in their browser when this is off; default:1. - Enable price alerts (
MPRWISHLIST_PRICE_ALERT). Saves the price-alert preference but does not send price-alert emails; default:0. - Maximum items (
MPRWISHLIST_MAX_ITEMS). Sets the normal add limit for one wishlist; merging saved items at sign-in can exceed it; default:50. - Allow sharing (
MPRWISHLIST_SHARE). Shows the logged-in customer share controls; it does not revoke previously issued token links; default:1.
Save Maximum items as a positive integer. Normal additions respect the limit, but saved items merged when a customer signs in can exceed it. Enable price alerts sends no email and starts no scheduled alerts. The wishlist page compares saved and current prices for its Price dropped badge independently of that switch.
Allow guest wishlists controls whether guests can load wishlist product details and add wishlist items to the cart. Turning it off still lets guests save hearts in their browser.
Check storefront behavior
Customers click a heart in a listing or product page. JavaScript updates the heart and header count. Browser data uses the mprwishlist localStorage key. A guest list stays in that browser and is lost when browser data is cleared. It does not move to another device before login.
Logged-in customers use one default database wishlist per customer and shop in the prefixed mprwishlist and mprwishlist_product tables. When logged-in storefront JavaScript starts, it syncs locally stored products or requests the server list. Product/combination IDs identify items.
Open the wishlist using the header or My wishlist account link. Available products have individual cart actions and Add all to cart. Unavailable products show an out-of-stock badge; disabled products are omitted from the product response. Cart operations honor minimum quantity and out-of-stock ordering rules. Price-drop comparison applies when a saved database price is present; guest items and shared responses do not carry that baseline.
Sharing
With Allow sharing on, logged-in customers can copy a token link. Routes are registered for /wishlist and /wishlist/{token}; actual URLs depend on your shop's rewrite configuration. The built-in share control appends a query parameter:
/wishlist?token=0123456789abcdef0123456789abcdef
The token is 32 characters. Other viewers can only view the shared list; the owner keeps remove and cart controls on their own shared page. Allow sharing shows or hides sharing controls. Turning it off leaves existing links readable by anyone who has them.
The module has GDPR customer export and deletion hooks. On PrestaShop 1.6 they are registered only when the corresponding hook already exists.
Verify and troubleshoot
- Add a product and a combination as a guest. Open the wishlist and check the header count.
- Sign in with a test account and reload a storefront page. Confirm the browser items merge into its database list.
- Remove one item. Add an available item to cart, then test Add all to cart and compare quantities with minimum order quantities.
- Copy a share link and open it in a private window. Check the visible items and the absence of owner controls.
- If buttons are absent, check Enable wishlist and theme hooks. If hearts appear but data does not load, inspect browser network errors from the
actionscontroller and ensure browser storage is available. - If a cart request fails, reload for a fresh request token and check product availability, stock and minimum quantity. If a guest page cannot fetch products, check Allow guest wishlists.
Use Integrity for module installation checks.
Add hooks or customize the theme
Listing template:
{hook h='displayProductListFunctionalButtons' product=$product}
Product page on PrestaShop 1.7 or later:
{hook h='displayAfterProductAddCartBtn' product=$product}
PrestaShop 1.6 product page:
{hook h='displayProductButtons' product=$product}
Navigation uses displayNav2 on newer versions and displayNav on 1.6. Account links use displayCustomerAccount. Notification markup uses displayBeforeBodyClosingTag on newer versions and displayFooter on 1.6.
A custom heart must retain .js-mprwishlist-toggle, data-id-product and data-id-product-attribute. For example:
<a href="#" class="btn-mprwishlist js-mprwishlist-toggle" data-id-product="123" data-id-product-attribute="0" title="Wishlist">
<i class="fa fa-heart-o mprwishlist-icon-empty" aria-hidden="true"></i>
<i class="fa fa-heart mprwishlist-icon-full" aria-hidden="true"></i>
</a>
Style .btn-mprwishlist.mprwishlist-active, .col-add-wishlist .btn-iconic.mprwishlist-active, .mprwishlist-icon-full and .mprwishlist-icon-empty from your theme. Override the appropriate wishlist template at:
themes/your-theme/modules/mprwishlist/views/templates/front/wishlist.tpl
themes/your-theme/modules/mprwishlist/views/templates/front/wishlist-16.tpl
A browser item contains id_product, id_product_attribute and date_add, for example:
[{"id_product":123,"id_product_attribute":0,"date_add":"2026-06-17T10:00:00.000Z"}]
Disable or uninstall
Turn off Enable wishlist to stop normal buttons/assets and AJAX actions. Uninstall through Module Manager to delete both database wishlist tables, module settings and menus. Back up wishlist data first. Uninstall does not clear localStorage in visitors' browsers. Remove custom theme hook placements when retiring the module.
Compatibility
Requires PrestaShop 1.6.1 or later and PHP 7.1 or later.
Questions
No questions about this module yet
Ask anything about installation, compatibility or setup. Answers appear here.
Known Issues
13
Installation status stayed outdated after saving
Short administration labels stayed untranslated
Administration messages stayed in English
Wishlist pages could fail with a fatal error
Combined assets could break wishlist behaviour
Incorrect translated text appeared
Wishlist used the wrong product variant
Wishlist cart additions ignored purchase restrictions
Removed variants reappeared in the wishlist
Security hardening
Older wishlist settings were not migrated
Wishlist display assets could be missing
Price formatting failed on newer PrestaShop versions
Feature Requests
7
Implemented
Wishlist cart actions for single items and bulk additions
Product wishlists
Wishlist administration settings
Back-office module updates
Installation checks
Additional administration languages
Add wishlist items to cart
Changelog
v1.0.202026-05-27
- Addedcomplete FR/DE/ES/IT/PL translations
- ImprovedAvoid front-office metadata translation
- FixedMigrate wishlist config storage
- FixedReplace Tools::displayPrice with PriceFormatter compat wrapper
Older releases
v1.1.02026-04-20
- Addedadmin menu management via MenuInstaller for streamlined module setup
Demo
Test the full module before you buy
Buy a licence later and keep your settings.
- Your 30-day demo Test it on your own shop for 30 days from the first install.
- Ready demo shop Explore a ready demo shop in your browser.
- No registration No account, email or store domain needed.
By downloading, you accept the demo terms and privacy policy.
By opening this demo you accept the demo terms and the privacy policy.