PS PrestaShop Intermediate

Product Customizer (Engraving, Text, Image) — Complete Guide

Install, configure and use product customization: engraving, custom text and image upload with live preview on the product picture and per-option price surcharge, for PrestaShop 8 and 9.

Updated Module version 1.0.0

Overview

The Product Customizer module lets your customers personalize an item straight from the product page: entering text / an engraving (with font and color) or uploading an image. The customization appears as a live preview on the product picture — drag-and-drop positioning, adjustable size and rotation — and each option can apply a price surcharge (fixed amount or percentage) added automatically to the cart.

The module is compatible with PrestaShop 8.x and 9.x. It creates its own tables and does not overwrite existing product pages: customization is driven by options you create, targeted by category and refinable product by product.

Installation

  1. Zip the dfcustomizer folder (or use the provided dfcustomizer.zip archive directly).
  2. In the back office, open Modules > Module Manager.
  3. Click Upload a module and drop the ZIP archive.
  4. Once installed, click Configure to create your options.

On installation, the module creates the required tables (dfc_option and its related tables, dfc_product_override, dfc_customization) and registers the display hooks on the product page, the cart and the order.

Configuration: creating an option

Go to Modules > dfcustomizer > Configure to create and manage your customization options. Each option defines a customization type, its price impact and its scope.

Customization type

  • Text / engraving: the customer enters text. You can offer a choice of font and color (both optional).
  • Image upload: the customer uploads a file in JPG, PNG or WEBP format.

Price impact

Each option can add a surcharge to the product price:

  • a fixed amount (tax excl.), or
  • a percentage of the product price.

The surcharge shows in real time on the customer side and is passed through to the cart (see the Cart & price section).

Category targeting

Tick the categories the option should apply to: the option will only appear on products in those categories. If no category is ticked, the option applies to the entire catalog.

Per-product override

On the product page (Modules tab), each product has an override setting. It can:

  • inherit the options defined by categories (default behavior);
  • choose its own options specifically for that product;
  • disable customization entirely for that product.

Customer side (front office)

On the product page, the customer enters their text (font, color) or uploads their image. The customization appears immediately as a live preview on the product picture:

  • positioning by drag-and-drop on the image;
  • size and rotation sliders to fine-tune the result.

The price surcharge tied to the chosen options shows live. When adding to cart, the customization and a flattened PNG preview are saved so they can be retrieved with the order.

Cart & price

The surcharge is added to the item price in the cart through a cart-bound price rule (SpecificPrice tied to the id_cart). It is recalculated on every cart save and removed automatically if the product is taken out of the cart.

Note: only one customization is possible per product / combination pair per cart.

Order side

Back office

On an order page, a “Product customizations” panel summarizes each customization: the text entered, the downloadable customer file and the generated preview. You have everything you need for production (engraving, printing, etc.).

Front office

The customer finds a reminder of their customizations in their order detail.

Technical notes

  • Tables created: dfc_option (+ dfc_option_lang and dfc_option_category), dfc_product_override, dfc_customization.
  • Price surcharge: applied through SpecificPrice bound to the cart (id_cart), recalculated on every cart save and removed if the product is taken out.
  • Customer files: stored in modules/dfcustomizer/uploads/, a folder where PHP execution is blocked by an .htaccess file for security.

Limitation: one customization per product/combination pair per cart.

Troubleshooting

The customization option does not appear on the product page

Check that the option is active and that its categories include the product’s category (or that no category is ticked to target the whole catalog). Then check the per-product override (Modules tab of the page): customization must not be disabled for that product. Finally, clear the PrestaShop cache.

The price surcharge does not appear in the cart

The surcharge is recalculated on cart save. Check that the option has a price impact (fixed amount or percentage) and reload the cart. If the product was removed and re-added, the customization must be redone.

The image upload is rejected

Only JPG, PNG and WEBP formats are accepted. Check the file format as well as the maximum upload size allowed by your hosting (upload_max_filesize / post_max_size PHP).

Uninstallation

Uninstalling removes the module’s hooks and configuration. Back up beforehand the customer files in modules/dfcustomizer/uploads/ and the order customization data if you want to keep them.

FAQ

Is the module compatible with PrestaShop 9?

Yes, the module is compatible with PrestaShop 8.x and 9.x.

Can I charge for customization?

Yes. Each option can apply a surcharge, as a fixed amount (tax excl.) or a percentage of the product price, added automatically to the cart.

Can I limit an option to certain products?

Yes, in two ways: through the option’s category targeting, and through the per-product override that lets each page inherit, pick its own options or disable customization.

Can the customer add several customizations to the same item?

Only one customization is saved per product/combination pair per cart.

Was this page helpful?

Still stuck? Contact support