PS PrestaShop Beginner

Baby, Wedding & Gift Registry — Full guide

Install, configure and operate shared baby, wedding and gift registries: customer creation, public link, reserve-to-cart, tracking and back office, for PrestaShop 8 and 9.

Updated Module version 1.0.0

Overview and requirements

The Baby, Wedding & Gift Registry module adds a complete shared gift registry system to your store. Your customers create their registry from their account, add products from your catalog and share a public link. Their friends and family reserve gifts, which are added to the cart and then confirmed when the order is validated. The registry owner is then notified by email.

  • Compatible with PrestaShop 8.0 to 9.x.
  • PHP 7.4 to 8.3, MySQL 5.7+ / MariaDB 10.3+.
  • Multi-store and multi-language (FR/EN/ES/DE/IT).
  • ObjectModel architecture and legacy front controllers, no Symfony dependency, no core override.

The module creates three dedicated tables (df_giftregistry, df_giftregistry_item, df_giftregistry_reservation) and alters no core file. Uninstalling removes these tables, the admin tab and the settings.

Installation

  1. Download the dfgiftregistry.zip archive from your customer account.
  2. In the back office, go to Modules > Module Manager.
  3. Click Upload a module and drop the archive.
  4. Installation creates the tables, registers the hooks (displayCustomerAccount, displayProductAdditionalInfo, actionFrontControllerSetMedia, actionValidateOrder) and adds the admin tab under Customers.

Once installed, the module is immediately active: the registry block appears in the customer account and the add button on the product page.

Module settings

Click Configure from the Module Manager to access the settings page:

  • Product-page button: shows or hides the “Add to a gift registry” button on product pages.
  • Guest gifting: allows non-logged-in visitors to offer a gift by giving their name and an optional email.
  • Owner notification: sends an email to the owner for every confirmed gift.
  • Name reveal: shows the donor name to the owner, unless the donor chose to stay anonymous.
  • Retention delay (DFGR_HOLD_MINUTES, 180 min by default): the time after which an unfinalized pending reservation is released automatically.
  • Maximum number of registries per customer (DFGR_MAX_PER_CUSTOMER, 5 by default).

Customer side: create and manage a registry

Create a registry

From their account, the customer opens the gift registries section and creates a new registry. They choose a type (baby, wedding, birthday, housewarming, other), enter a title, and can fill in an event date, a welcome message, a description and a delivery address. The registry is public by default but can be made private.

Add products

Two options:

  • From the product page: the customer selects one of their registries, chooses the desired quantity and clicks “Add”. The combination selected on the page is taken into account.
  • From the registry’s management area: they adjust the desired quantity and the priority of each product.

If a product is already in the registry, adding it from the product page simply increments the desired quantity.

Share the registry

Each registry has a unique public link. A “Copy” button places this link in the clipboard, ready to be sent to friends and family by email or messaging.

Track received gifts

In the management area, the owner sees a reserved / remaining progress bar for each product, as well as the list of received gifts, with the donor name depending on the name-reveal setting.

Visitor side: offer a gift

By opening the public link, a relative discovers the registry: type, owner name, event date, welcome message and product grid. Each product shows its reserved / remaining progress.

  1. The visitor clicks Offer this gift under the chosen product.
  2. They enter the quantity (capped to the remaining), an optional short message, and — if not logged in — their name and an optional email.
  3. They can tick “Stay anonymous” if the name-reveal setting is enabled.
  4. On confirmation, the product is reserved and added to their cart; they are redirected to the cart to complete the order.

If guest gifting is disabled, only logged-in customers can offer a gift.

The reservation cycle

A reservation goes through the following states:

  • Pending: created as soon as the visitor clicks “Offer this gift” and the product is added to the cart.
  • Confirmed: when the order is validated (hook actionValidateOrder), the reservation tied to the cart is confirmed and attached to the order.
  • Released: an unfinalized pending reservation, tied to an abandoned cart, is removed automatically after the retention delay.

A product’s remaining count equals the desired quantity minus the sum of pending and confirmed reservations. When a product is fully reserved, it is locked and can no longer be offered, which avoids duplicates.

Merchant side: back office

The Gift registries tab (under Customers) lists all registries in the store: customer, type, number of products, number of gifts, active/inactive status and creation date.

The detailed view of a registry shows:

  • the registry and customer information;
  • the products with desired, reserved and remaining quantities;
  • the reservations with the donor, the quantity, the message, the status and a direct link to the related order.

Registries are created by customers: the create action is not available in the back office. The merchant can view and delete.

Notification emails

When owner notification is enabled, an email is sent to the registry owner for every confirmed gift. It includes the registry title, the offered product, the quantity, the donor name (depending on the reveal setting and the anonymity choice) and any message. Email templates are provided in French and English, and are customizable.

Multi-language and multi-store

The module labels are translatable through the PrestaShop module translation system. The display respects the current shop context: a registry created on one store remains tied to that store.

FAQ and troubleshooting

The “Add to a registry” button does not appear on the product page

Check that the Product-page button option is enabled in the settings, and that the displayProductAdditionalInfo hook is properly positioned on your theme.

The public page shows “registry not found”

The registry may be private, inactive, or tied to another store. Check its status in the customer account or the back office.

A product stays locked although the order was not placed

This is a pending reservation. It is released automatically after the retention delay defined in the settings. You can reduce this delay if needed.

The owner does not receive an email

Check that owner notification is enabled and that email sending is properly configured in Advanced Parameters > E-mail.

What happens on uninstall?

Uninstalling removes the three module tables, the admin tab and the settings. No residual data remains.

Was this page helpful?

Still stuck? Contact support