Showcase Revolution: setup and help
Quick start
- Upload and install mprshowcaserevolution, then click Configure.
- Open Showcase Revolution > Settings > Configuration to review defaults; keep the module enabled in Module Manager.
- Open Widgets and add a widget with a Title and Widget Type New Products.
- Set Hook (Placement) to displayHome, Products Count to 8, and Active to Yes.
- Set Layout to Grid, desktop rows to 4, and mobile rows to 2, then Save.
- Open the homepage and confirm eligible products appear.
- Switch to Slider if needed and verify navigation, dots, autoplay, prices, and cart controls in your theme.
Requires PrestaShop 1.6.1 or later and PHP 7.1 or later.
Setup manual
Install and create a first widget
Upload and install mprshowcaserevolution in Modules > Module Manager. Click Configure to open the dashboard. Use Improve > Showcase Revolution for Widgets, Collections, and Settings > Configuration. The Settings submenu also contains Integrity, License, Support, and Update.
Requires PrestaShop 1.6.1 or later and PHP 7.1 or later.
For a first test, open Widgets, add a widget, enter a Title, choose Widget Type: New Products, Hook (Placement): Homepage (displayHome), Layout: Grid, Products Count: 8, and Active: Yes. Enter 4 desktop products per row and 2 mobile products per row. Save and open the homepage.
Configuration screen
Features
| Setting | Default | Runtime behavior |
|---|---|---|
| Enable module | Yes | Stored preference; does not control display. |
| Enable widgets | Yes | Stored preference; does not control display. |
| Enable collections | Yes | Stored preference; does not change which collection products appear. |
| Enable trending products | Yes | Stored preference; does not control display. |
| Enable back-in-stock products | Yes | Gates stock-change recording. Existing source data is a separate concern. |
Use the module enabled state in Module Manager, or a widget's Active setting, to control actual display. The separate Enable module configuration field does not replace those controls.
Widget Defaults
| Setting | Stored default |
|---|---|
| Default widget layout | Slider |
| Products count | 8 |
| Products per row | 4 |
| Products per row on mobile | 2 |
| Show navigation arrows | Yes |
| Show pagination dots | Yes |
| Autoplay slider | No |
| Autoplay speed | 5000 ms |
These are saved global preferences. Existing widgets have their own fields. Set each new widget explicitly; do not assume changing a global preference updates saved widget values or prepopulates every editor field.
Trending
| Setting | Default | Use |
|---|---|---|
| Views weight | 0.3 | View contribution to the velocity score. A zero value falls back to 0.3. |
| Sales weight | 0.7 | Sales contribution. A zero value falls back to 0.7. |
| Recalculate every | 6 hours | Stored preference; no scheduled recalculation is wired to it in this module. |
| Minimum views | 3 | Minimum seven-day views for inclusion. A zero value falls back to 3. |
| Back-in-stock window | 30 days | Restock history window used by that source. |
| Back-in-stock minimum quantity | 1 | Stored preference; restocks are recorded when stock changes to any positive quantity. |
Use the dashboard's manual trending recalculation control after collecting views. Scores combine recorded views and valid order sales. Product views are recorded through actionObjectProductViewAfter; confirm that your shop or integration emits that hook. Back-in-stock recording uses actionUpdateQuantity and compares the quantity visible in storage with the hook's new quantity. Verify this transition with your stock update flow.
Performance
| Setting | Default | Runtime behavior |
|---|---|---|
| Track product clicks | Yes | Stored preference; clicks are recorded regardless of this switch. |
| Track product views | Yes | Enables the product-view recording hook. |
| Cache widget HTML | Yes | Stored preference; does not enable or disable HTML caching. |
| Cache TTL | 3600 seconds | Stored preference; cached content expires after a fixed 1800 seconds. |
HTML containing price or add-to-cart output is excluded from the shared widget HTML cache. Personal sources are also excluded. Warehouse-compatible carousels have an additional selection and lightweight-card cache; personalized first-row product data is rendered in the visitor's context.
Theme styles
Defaults come from the shared theme style system. The module registers --mpr-sc-primary, --mpr-sc-accent, --mpr-sc-filter-bg, --mpr-sc-radius, --mpr-sc-shadow-hover, and --mpr-sc-transition. Card gap defaults to 16px and supplies --mpr-sc-gap. Change the shared styling controls when you need to adjust the detected palette or spacing. Primary-hover and normal shadow mappings are unavailable.
Widgets screen
The editor has General, Display, and Advanced tabs. The defaults below describe schema defaults; enter explicit values when a new form is empty.
General
| Setting | Default | What it does |
|---|---|---|
| Title | Empty | Required multilingual heading. |
| Subtitle | Empty | Optional multilingual secondary text. |
| Widget Type | Best Sellers | Chooses the product source. |
| Category Scope | All categories, 0 | Restricts supported sources to the selected category; subcategories are not included automatically. |
| Collection | 0 | Choose a saved collection for Curated Collection. |
| Hook (Placement) | displayHome | Chooses the storefront hook. |
| Products Count | 8 | Maximum products requested. Fewer can appear after eligibility and image checks. |
| Time Period (days) | Empty | Restricts best-seller sales history or overrides the new-product time window. |
| Active | Yes | Controls this widget's visibility. |
Sources are Best Sellers, New Products, On Sale, Featured Products, Trending Now, Curated Collection, Back in Stock, Recently Viewed, and Cart Recommendations. Recently Viewed is listed but returns no products; do not select it for a working block.
Cart Recommendations needs an enabled MPR Sales Revolution module, a loaded cart, and products in it. Other sources work independently of that integration. Featured Products uses Category Scope or the configured featured category. Category Scope is not applied by every source, including the collection and cart recommendation paths.
Display
| Setting | Default | What it does |
|---|---|---|
| Layout | Slider | Grid, Slider, Carousel, List, or Compact. |
| Products Per Row (Desktop) | 4 | Desktop columns or visible slides. |
| Products Per Row (Mobile) | 2 | Mobile columns or slides. |
| Show Navigation Arrows | Yes | Carousel navigation controls. |
| Show Dots | Yes | Carousel pagination controls. |
| Autoplay | No | Enables slider/carousel automatic movement. |
| Autoplay Speed (ms) | 5000 | Autoplay delay. |
| Show Prices | Yes | Controls presented price visibility and module list/compact output. Modern theme miniatures also receive adjusted presentation data; check your theme's use of it. |
| Show Add to Cart | Yes | Controls presented add-to-cart availability and module list output. Verify how your theme consumes it. |
| Show Description | No | Stored field; does not show or hide descriptions. |
| Hide products without images | Yes | Excludes products without a usable shop cover image. |
| Link Text | Empty | Optional multilingual header link label. |
| Link URL | Empty | Optional header link destination. |
Grid, Slider, and Carousel normally use the theme's native product miniature on modern PrestaShop. PrestaShop 1.6 has a module legacy template. List and Compact use smaller module templates. Dots and autoplay are passed to the current carousel renderer.
Advanced
Sort By is stored, but automatic sources keep their own query order. CSS Class defaults to empty and adds a wrapper class. Custom CSS defaults to empty and prints a style block. Position defaults to 0 and orders widgets within a hook.
Custom CSS is not automatically scoped to the widget. Include the CSS Class in your selectors:
.homepage-staff-picks .mpr-showcase-widget__title {
text-transform: uppercase;
}
The database also stores sort_dir with default DESC and show_manufacturer with default 0; these are not controls in the current widget form.
Collections screen
Create a collection with Name, optional rich-text Description, Type, Start Date, End Date, Active, and Position. Name and description default to empty, Type defaults to curated, dates to empty, Active to Yes, and Position to 0. Types include curated, staff_picks, seasonal, and spotlight.
Add selected products, reorder them, then save a widget with Widget Type: Curated Collection and the matching Collection. Products use their saved collection position.
Dates and Active affect collection queries that request active-only selection. The widget's direct collection product lookup does not check those collection scheduling fields. Control a collection widget with its own Active switch; do not rely on collection dates to hide an already assigned widget.
For example, create a collection called Summer Picks, then configure:
Title: Summer Picks
Widget Type: Curated Collection
Collection: your saved collection
Hook (Placement): displayHome
Layout: Grid
Products Count: 8
Active: Yes
Placement and theme customization
Supported hooks are:
displayHome
displayFooterCategory
displayLeftColumn
displayRightColumn
displayFooterBefore
displayFooterProduct
displayProductAdditionalInfo
displayOrderConfirmation2
displayCrossSellingShoppingCart
displayNotFound
The theme must call the selected hook. For a custom product footer:
{hook h='displayFooterProduct'}
There is no CMS shortcode renderer. Use a supported hook.
Theme override paths include:
themes/your_theme/modules/mprshowcaserevolution/views/templates/front/widget.tpl
themes/your_theme/modules/mprshowcaserevolution/views/templates/front/_product-miniature-widget.tpl
themes/your_theme/modules/mprshowcaserevolution/views/templates/front/layouts/list-item.tpl
themes/your_theme/modules/mprshowcaserevolution/views/templates/front/layouts/compact-item.tpl
Useful selectors include .mpr-showcase-widget, its --grid, --slider, --carousel, --list, and --compact modifiers, .mpr-showcase-widget__title, .mpr-showcase-widget__subtitle, .mpr-showcase-widget__link, .mpr-showcase-slider__nav, .mpr-list-item, and .mpr-compact-item.
Verify and troubleshoot
- Confirm your first Grid widget shows products on its selected hook.
- Change it to Slider and test arrows, dots, and autoplay on desktop and mobile.
- Check price and add-to-cart controls in your actual theme.
- Click a widget product and inspect the
trackClickrequest if click records matter to you. - Test a collection and cart recommendation source separately before reusing them elsewhere.
No wrapper is printed if a source returns no presentable products. Check active state, current shop association, exact hook, source eligibility, category, cover images, and product count. Best Sellers needs sales and Trending Now needs recorded views plus recalculation. Back in Stock needs recorded stock transitions. Recently Viewed returns no products in this version.
If changes appear late, account for the fixed 30-minute caches and your shop/theme cache. If collection scheduling appears ignored, use the widget's own Active control. If a theme ignores price or button flags, review its miniature template.
Uninstall
Export or record widgets and collections before uninstalling. Uninstall removes the admin menu, column-management registration, theme registration, and module-owned schema tables, including widgets, collections, trending, and tracking data. Standard uninstall removes hook registrations. If theme cleanup fails, the method stops before removing the remaining setup. Remove any manual theme hook calls and overrides you added.
Screenshots




Questions
2
How does Showcase Revolution select content in multistore?
Storefront widget selection uses the current shop's widget associations, and collection listings use their shop associations. Product lookup uses the current shop, including active shop products for a collection. Trending view and sales calculations are also shop-scoped. Check the widget and collection associations for each storefront.
What shopper activity does Showcase Revolution record?
The click endpoint stores the product ID, widget ID, source, shop ID and time. The product-view hook can record product ID, shop ID and time for trending when Track product views is enabled and the hook is emitted. The current click endpoint does not check Track product clicks, so turning that saved preference off does not itself disable click recording.
Known Issues
7
Theme support conflicts between modules
Unstyled late-rendered showcases
Combined storefront assets
Missing or damaged interface translations
Conflicting missing-page content
Showcase list filters
Price display compatibility
Feature Requests
5
Implemented
Cart recommendations showcase widget
Product showcases
Cart recommendations
Hide products without images
Deferred carousel product cards
Changelog
v2.4.62026-05-27
- AddedFinalize showcase widget endpoint SEO cleanup
- AddedUse shared theme style tokens
- Addedcomplete FR/DE/ES/IT/PL translations
- FixedSimplify showcase dashboard actions
- FixedReplace Tools::displayPrice with PriceFormatter compat wrapper
Older releases
v1.1.02026-04-20
- Addedautomatic theme detection for Classic and Hummingbird style compatibility
- Addedadmin menu management via MenuInstaller for streamlined module setup
- AddedLicense management tab with key management and renewal options
- Addedself-healing integrity checks for automatic diagnostics and repair
- Addedcomplete FR/DE/ES/IT/PL translations
- Improvedadmin list columns with visual badge indicators and multiselect filters
- Fixedadmin list filters — sorting, searching, and filtering now work correctly on all columns
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.