1. What this module does

The module gives your shop a calendar page with numbered doors, one for each day of your campaign. Behind each door you put an offer that already exists in your shop: a voucher code, a product with its discount, or your own message with a link. A door opens on its day; future doors stay sealed; earlier doors stay open or expire, as you decide. A countdown tells customers when the next door opens, and a banner on the home page sends them to the calendar during the campaign and a few days before.

The offers are your own cart rules and products, so the calendar is always right: disable a cart rule and the door says the offer is not available; change a price and the product door follows. The module creates no vouchers and no prices and changes nothing in the cart.

A classic advent calendar runs from 1 to 24 December, but the first day and the number of days are yours: twelve days of Christmas, a week of January deals, a birthday countdown.

Works with PrestaShop 1.7.8, 8.x and 9.x (PHP 7.2.5 or newer), with the Classic and Hummingbird themes and with multistore.

2. Installation

  1. Download the module from My account → Order history at addonspresta.com.
  2. In your Back Office, open Modules → Module Manager and click Upload a module.
  3. Drop the ap_adventcalendar_v1.0.0.zip file and wait for the confirmation.
  4. Click Configure on the module card.

Right after installation the calendar page is online at /advent-calendar in every language of the shop (for example yourshop.com/pl/advent-calendar), with 24 doors starting on 1 December and no offers yet.

3. How it works

Prepare the offers in PrestaShop. For a voucher, open Catalog → Discounts → Cart rules, click Add new cart rule, enter a name, a code customers will type in the cart (for example DAY5), the validity dates, the conditions and the action (a percentage, an amount, free shipping or a gift), and save. For a product deal, set a specific price on the product in Catalog → Products, on its Pricing tab, with the dates of the deal. Only cart rules with a code can be put behind a door: a rule without a code cannot be used by a customer.

Add the doors. On the module's configuration page, click the + button of the doors list, choose the day and the offer type, pick the cart rule or enter the product ID, add a title and a text if you like, and save. One door per day; days without a door show "No offer today".

What customers see. Door n opens at midnight of (first day + n − 1), shop time (International → Localization), and is marked Today until the end of that day, with its offer open on the page. Earlier doors can be opened with a click (or say the offer has ended, when past days do not stay open). Future doors show a lock and the date they open; their content is not even sent to the browser, so nobody can peek. A countdown says when the next door opens; when it reaches zero, the page refreshes by itself within a few seconds.

  • A voucher door shows the name of the cart rule, what it gives (for example "−10% · Free shipping"), the code with a Copy code button, the end date of the rule, your text and an optional button with a link. While the cart rule is disabled, not yet valid, expired or used up, the door says the offer is not available instead of showing a dead code.
  • A product door shows the product box of your theme — image, name, price with the old price crossed out, the add-to-cart button where the theme has one — with your title above and your text below.
  • A text door shows your title, your text and an optional button with a link, for example to a category or a blog post.

Before and after. Before the first day, the page shows the calendar name, your text and a countdown to the first door, with every door locked. After the last day, the page shows your closing text; the doors stay as they were on the last day. The page keeps its address all year, so links and search rankings carry over to the next calendar: next year, change the first day and update the doors.

Home page banner. From a chosen number of days before the first day until the end of the last one, a banner on the home page shows the calendar name, your text, today's offer title, the countdown and a button to the page.

The module does not contact addonspresta.com or any other server and sets no cookies.

4. Features and settings

Open Modules → Module Manager → Advent Calendar → Configure. The Help box at the top links to this manual and to the module page at addonspresta.com, in the language of your Back Office.

Status

The box above the settings tells you where the calendar stands (before the first day, the day of the calendar with the time to the next door, or ended), how many doors have an offer and what today's offer is. It warns you about days without a door, about offers customers cannot use right now (a disabled, expired or used-up cart rule, a disabled or missing product), about cart rules being switched off in your shop, and about an ended calendar. Use View the calendar page to open it in a new tab and Cart rules to go to your vouchers.

Calendar

  • Calendar name — the title of the page and of the home banner, for example "Advent Calendar". Required in the default language.
  • First day — the day of door 1, for example 2026-12-01. Doors open at midnight, shop time.
  • Number of days — from 1 to 31; 24 for a classic advent calendar.
  • Past days stay open — on: customers can open every door up to today; off: only today's door has an offer and earlier doors say the offer has ended. The validity of a voucher is still decided by its cart rule.
  • Text above the doors — shown before and during the calendar, for example "A new door opens every day. Come back tomorrow for the next offer!"
  • Text after the last day — replaces the text above once the calendar is over.

HTML tags are removed from all texts; line breaks are kept.

Calendar page

  • Page address — the end of the page address in each language, for example advent-calendar: lowercase letters, digits and hyphens, starting with a letter. An address already used by another page of the shop is refused. The same page can be found in Shop Parameters → Traffic & SEO.
  • Page title (meta title) and Meta description — what the browser tab and search results show.

Promotion in the shop

  • Banner on the home page — the calendar name, your text, today's offer, the countdown and a button to the page. On installation the banner is placed first on the home page; you can move it in Design → Positions (hook displayHome).
  • Show the banner before the first day — how many days before the first day the banner appears, for example 7. 0 shows it only from the first day. It disappears after the last day.
  • Home banner text — for example "A new offer every day until Christmas. Open today's door!"
  • Button label — for example "Open the calendar". Required in the default language.
  • Door colour and Door text colour — hex colours such as #1f3a2e and #ffffff. The page warns you when the two colours are hard to read together.
  • Accent colour — the colour of today's door badge, the countdown, the code box and the buttons, for example #c8102e. Leave it empty to keep the colours of your theme. Button text is black or white, whichever reads better.

Doors

The list at the bottom shows every door with its day and date, its type, its offer (the cart rule and its code, the product and its ID, or the title), its shop in multistore, and its state. Click the + button to add a door, Edit to change one, the state icon to switch it off and on, Delete to remove it.

In the door form:

  • Day — a day of the calendar with its date; one door per day.
  • Offer type — Voucher, Product or Your own text and link. The fields below follow the type.
  • Cart rule — one of your cart rules that have a code, are not bound to a single customer and can be used in the door's shop, newest first (disabled rules are marked). The door shows the rule name, what it gives, its code and its end date.
  • Product ID — the ID from Catalog → Products. The door shows the product box with its current price.
  • Title — optional; empty = the cart rule name, the product name or "Day N".
  • Text — optional, a few lines, for example the conditions of a voucher ("Minimum order 50 €").
  • Link and Button label — an optional button under the offer (voucher and text doors): a full address (https://…) or a path of your shop (/en/12-category); the label defaults to "Shop now".
  • Enabled — a disabled door counts as a day without an offer.

5. Multistore

Settings are saved for the shop selected in the Back Office header. Doors added with All shops selected belong to every shop; doors added with one shop selected belong to that shop and win over the door for all shops on the same day. Cart rules and products are those of the shop. One licence covers every shop of the installation.

6. Uninstall

Module Manager → Advent Calendar → Uninstall removes the module's settings, its doors and the calendar page. Your cart rules and products are not touched. To keep the doors for next year, use Disable instead.

7. FAQ and troubleshooting

A door says "This offer is not available". Its cart rule is disabled, outside its dates or used up, or its product is disabled or not visible in the shop. The Status box lists those days. Check the cart rule in Catalog → Discounts → Cart rules (state, dates, quantity) or the product in Catalog → Products.

The code does not work in the cart. Check the conditions of the cart rule (minimum amount, customer group, products, carriers, uses per customer) and that cart rules are enabled in your shop (the Status box warns you when they are not). The module only shows the code; PrestaShop applies it.

A door opens at the wrong time. Doors open at midnight in the shop time zone from International → Localization. Check the time zone and the first day.

I want today's offer to be a surprise until the customer clicks. Today's door is open on the page so that the offer is visible at once, also in search engines. If you prefer a closed door, override the template views/templates/front/calendar.tpl from your theme (see below).

Can I show a different calendar in each shop? Yes: select the shop in the Back Office header before saving the settings and adding the doors.

Can I add the page to the main menu? Yes: in Modules → Module Manager → Main menu → Configure, add a custom link with the address of the calendar page (View the calendar page in the Status box).

Can I change how the doors look? Yes. Use the colour settings, add CSS for the .ap-adventcalendar classes to your theme, or copy the templates from views/templates/ of the module to themes/<your-theme>/modules/ap_adventcalendar/views/templates/ and edit the copies.

8. Updates and support

Updates are free for life: download new versions from My account → Order history at addonspresta.com and upload them like a new module. Your settings and doors are kept.

Support is included for 12 months from your order: write to mail@addonspresta.com or use the contact form at addonspresta.com (Monday to Friday, 10:00–16:00 CET; we usually answer within 2 business days). Please include your PrestaShop version, the module version and the steps that lead to the problem.

Back to User manuals

Loading...
Back to top