DF Swipe Gallery — Swipe product navigation
Installation, configuration and usage of the swipe product discovery deck: wishlist, gesture add to cart and analytics.
Overview
DF Swipe Gallery turns your PrestaShop category pages into a fullscreen Tinder-style card deck. Visitors discover products one at a time: swipe right to like (wishlist), swipe left to skip, swipe up to add to cart. A stories-style progress bar shows position within the deck and a final screen sums up the session’s favorites. Every interaction feeds an analytics dashboard in the back office.
The module runs with zero dependencies: no Composer, no jQuery, no external service. Compatible with PrestaShop 8.0 to 9.x, multistore and multilingual.
Installation
- In your back office, open Modules → Module Manager → Upload a module.
- Upload
dfswipegallery.zipand click Install. - The module automatically creates its two tables (
df_swipegallery_likeanddf_swipegallery_stat), registers its hooks and adds the Catalog → Swipe Gallery tab.
No theme modification is needed: the launcher button and the overlay are injected through the displayFooterAfter hook, independently from your template.
Configuration
Open Modules → DF Swipe Gallery → Configure. Available options:
- Enable swipe gallery — turns the module on or off globally.
- Mobile devices only — restricts the floating button to screens under 992px (enabled by default). Disable it to offer the deck on desktop too.
- Maximum products per deck — cards per session, from 5 to 100 (default 30).
- Deck order — card order: category position, random (recommended for discovery) or newest first.
- Swipe up adds to cart — enables the super-like: swiping upward adds the product to the cart.
- Hide already liked products — excludes products the visitor already liked from new decks.
- Show price on cards — shows or hides the price on cards (automatically hidden in catalog mode).
- Launcher button position — floating button position: bottom right, bottom left or bottom center.
For a striking demo, pick the random order and keep swipe-up-to-cart enabled: that combo drives the most engagement.
Storefront usage
On any category page, a floating “Swipe mode” button appears. On tap, the deck opens fullscreen:
- Swipe right (or heart button) — like: the product is saved to the wishlist.
- Swipe left (or cross button) — skips to the next product.
- Swipe up (or cart button) — adds the product to the cart.
- Tap “View product” — opens the product page.
On desktop, keyboard arrows mirror the gestures (→ like, ← skip, ↑ cart) and Escape closes the deck. Haptic feedback accompanies each swipe on compatible devices, and animation is disabled when the visitor has prefers-reduced-motion enabled.
At the end of the deck, a summary screen lists the liked products with their price and a direct link to each page, plus a button to start a new session.
Wishlist, customers and guests
Every like is persisted in the module’s own table, whether it comes from a logged-in customer or a guest visitor (attached to their id_guest). A unique key prevents duplicates.
If the official blockwishlist module is installed and the customer is logged in, the product is also added to their default wishlist — created automatically if it does not exist yet. No configuration is required: the bridge is silent and never fails loudly.
Guest likes stay attached to their session. The module exposes a merge helper (attachGuestLikesToCustomer) to attach those likes to the customer account after login if you want to wire that behavior.
Swipe-up add to cart
Swiping up adds the product server-side: the cart is created if needed, the product’s minimal quantity is respected and the theme’s cart badge is refreshed through the standard prestashop.emit('updateCart') event. Products not available for order are cleanly rejected with a message.
Back-office analytics
The Catalog → Swipe Gallery tab shows the dashboard:
- Global counters: cards viewed, likes, skips, cart adds.
- Global like rate: likes / (likes + skips).
- Top 20 products by likes, with views, skips, carts and per-product like rate.
This data is a direct merchandising signal: products with a high like rate deserve more visibility, heavily skipped ones may need a better photo or repositioning. Statistics for a deleted product are purged automatically.
No data is sent to any third-party service: all statistics stay in your database.
Multistore and multilingual
Likes and statistics are recorded per shop (id_shop). Deck texts (Like, Skip, View product, summary screen…) go through PrestaShop’s native translation system: translate them in International → Translations → Installed modules translations.
Troubleshooting
- The button does not appear — check the module is enabled, that you are on a category page and that mobile-only is off if you are testing on desktop.
- The deck is empty — the category has no active visible product, or all products are excluded by the “Hide already liked products” option.
- The cart badge does not refresh — your custom theme may not listen to the
updateCartevent; adapt the listener in your theme or contact support. - Display conflict — the overlay uses a z-index of 1060; raise it via CSS if a theme element sits above it.
Changelog
- 1.0.0 (2026-07-16) — Initial release: fullscreen swipe deck, swipe-right wishlist with blockwishlist bridge, swipe-up add to cart, guest support, analytics dashboard, stories progress bar, accessibility, PrestaShop 8 & 9 and multistore compatibility.