Recently, we had a client who wanted to change their homepage promotional banner very often, but every time they needed to swap an image or move the banner's position, they had to get the development team to edit the theme code for them. On top of that, whenever they wanted a slider with 2-3 images rotating, It turned into another round of spending time for custom JS to be written.

PrestaShop doesn't have a built-in feature that lets admins manage images, banners, or sliders themselves from the back office. This forces stores to rely on their development team for even small changes, when it's the kind of thing that should take just a few clicks to do on their own.

This module was therefore built to give store owners back their content autonomy — whether it's swapping an image, repositioning a banner, adjusting a slider, or turning a promotional popup on or off, everything can be done instantly from the back office, without waiting on or relying on a developer to write new code every time a small change is needed.

What does this module do

It's a PrestaShop module for creating image blocks (single image or slider) and placing them anywhere in your theme through the hook system — both standard PrestaShop hooks (e.g. homepage, top of page, banner, footer, left/right column, etc.) and custom hooks (displayCustom1-5) for positions your theme doesn't natively support. It can also be displayed as a popup, targeted to specific pages (e.g. specific product/category/CMS IDs).

Why it was built

Because adding a banner or promotional image in a PrestaShop theme normally requires editing the theme's code directly every time the position or images change, and building a slider on top of that would mean writing custom JS. This module was built so admins can manage images, banners, and sliders entirely from the back office, without touching the theme's code (except for a one-time hook snippet for custom positions).

What problem it solves

  • Having to edit theme code every time a banner or promo image needs to change — everything is now managed from the back office instead.
  • Wanting an image slider but the theme doesn't support one, or there's no budget for custom development — the module builds a slider automatically as soon as a block has 2 or more images.
  • Wanting a promotional popup on specific pages only, without annoying visitors on every visit — page-targeting plus a "closed" state that's remembered so it won't reappear.
  • Desktop images don't fit well on mobile — separate images and aspect ratios can be set for mobile.

How it works

  1. The admin creates a "block" and chooses the display mode — via a hook (picking the desired hook position) or as a popup (targetable to specific pages, e.g. home/product/category/CMS, down to specific IDs).
  2. Within the block, the admin adds one or more "items" — each with a desktop image, a destination link (with option to open in the same or a new tab), a short caption, and a separate mobile image/ratio if needed.
  3. If a block has 2 or more images, it automatically becomes a slider, with prev/next arrows, touch-swipe support, pause on hover, and keyboard arrow navigation.
  4. Once saved, the system pulls in blocks matching the current hook or page and renders them live on the site (for popups, it first checks a cookie to see if the visitor already closed it).

Features

  • Two display modes: standard/custom hook embedding, or a page-targeted popup
  • Full support for standard PrestaShop hooks (home, top, banner, footer, left/right column, etc.) plus 5 custom hook positions
  • Popup targeting down to specific product/category/CMS pages, with a "don't show again after closing" memory
  • Automatic slider once a block has 2+ images (auto/manual play, adjustable delay, swipe/keyboard support, pause on hover)
  • Multiple aspect ratio options (16:9, 4:3, 1:1, 3:4, 21:9, 3:1) or a custom ratio
  • Separate mobile images and aspect ratios, when different from desktop
  • Per-item destination link, caption, and choice of same-tab/new-tab link, with multi-language caption support
Loading...