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.
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
- Zip the
dfcustomizerfolder (or use the provideddfcustomizer.ziparchive directly). - In the back office, open Modules > Module Manager.
- Click Upload a module and drop the ZIP archive.
- 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_langanddfc_option_category),dfc_product_override,dfc_customization. - Price surcharge: applied through
SpecificPricebound 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.htaccessfile 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.