Size Chart Pro - Size Guide Popup on Product Pages, One Chart Image per Product
Add a ruler-marked Size Chart button next to Add to Cart, and open your size guide in a popup without leaving the product page. Upload one chart image per product — jpg, png, gif or webp, up to 5 MB — straight from a tab on the product edit page; it saves the moment you pick it. Bulk import and export the whole catalogue as CSV, and a live troubleshooting panel repairs the upload folder for you. No extra libraries: the popup is your theme's own Bootstrap modal. For PrestaShop 1.7 – 9.
The size question is the reason the order does not happen
Clothing, shoes, rings, gloves, bike frames, pet harnesses — whenever sizing is not obvious, the customer either guesses or leaves. A size chart answers the question at the exact moment it is asked: on the product page, next to the buy button, in one click, without a new tab and without losing the cart.
How it works
- 1. Open the product's Size Chart tab — it sits with the other module tabs on the product edit page in Catalog → Products.
- 2. Tick the box and choose an image — jpg, jpeg, png, gif or webp up to 5 MB. The upload saves immediately, so the chart sticks even before you save the product form.
- 3. That is it — a Size Chart button with a ruler icon appears next to Add to Cart, and clicking it opens your chart in a popup.
A button that looks like it belongs
The button renders through PrestaShop's standard productActions hook, so it lands where your theme puts the product actions and inherits your theme's styling. The ruler icon is an inline SVG drawn with currentColor and sized in em, so it takes the button's own colour and text size on any theme. The popup is a plain Bootstrap modal — your theme's Bootstrap, matched to its version — which means no Fancybox, no Slimbox, no extra JavaScript library shipped with the module.
One chart per product, or a whole catalogue at once
Each product carries its own chart image and its own on/off switch, which is what you want when a dress, a ring and a pair of boots need three different tables. When you are configuring hundreds of products, use Bulk import / export on the module's configuration page: export every configured product as id_product,displaybutton,sizechartlink, edit the file, and import it back. Import only touches the rows in your file — the rest of your configuration is left alone — and rows pointing at a product that does not exist are skipped and reported back to you.
It checks and repairs itself
The Troubleshooting tab runs live checks every time you open it: is the upload folder writable, is it protected, is the GD extension available, is the upload endpoint reachable. If the upload folder or its protective .htaccess has gone missing, the module recreates both automatically instead of handing you a list of shell commands.
Rebuilt for security in 2.0
Version 1.x shipped three unauthenticated standalone scripts — upload.php, import.php and export.php. Version 2.0 replaced all three with a single token-authenticated front controller reached through PrestaShop's normal index.php dispatch, which also sidesteps the hosting rules (Hostinger's hPanel among them) that block direct requests to raw .php files inside a module folder. Uploaded images are now validated server-side by extension, MIME type and size, and re-encoded with GD when it is available, so a non-image file renamed to .png cannot get through. The back-office CSV panel no longer leaks onto the public product page, and chart images are stored by filename and rebuilt against the shop's current domain — so moving the shop to a new domain or switching to HTTPS no longer breaks every chart.
Compatibility
PrestaShop 1.7, 8 and 9. PHP's GD extension is recommended but not required — without it uploads still work, they simply skip the re-encoding step, and the Troubleshooting tab tells you so. The module's technical name is unchanged from 1.x, so moving up from an older version is a normal update, not a reinstall, and existing rows are migrated for you.
Frequently asked questions
Can each product have a different chart?
Yes. The image and the on/off switch are per product, so a dress, a ring and a pair of boots can each show their own table.
Which image formats can I upload?
jpg, jpeg, png, gif and webp, up to 5 MB. The file's actual content is checked server-side, so renaming an unsupported file will not get it through.
Do I have to save the product for the image to stick?
No — the image uploads and saves on its own. You only need to save the product form to persist the checkbox that shows the button.
How do I set up hundreds of products?
Export your current settings to CSV from the module's configuration page, edit the file in a spreadsheet, and import it back. Only the rows in your file are touched.
Will the button match my theme?
It renders through the standard productActions hook and uses your theme's own Bootstrap modal, so it takes your theme's button styling; the ruler icon inherits the button's colour and text size.
What happens if I move my shop to a new domain?
Nothing breaks. Charts are stored by filename and the URL is rebuilt for whatever domain the shop is on — and upgrading from a pre-2.0 version migrates the old absolute URLs for you.
Do I need GD installed?
Not strictly. With GD, every upload is re-encoded as an extra safety check; without it, uploads still work and the Troubleshooting tab flags that the step was skipped.
-
Reference50618
-
EAN138691246250612
-
CompatibilityPrestashop 1.5
Prestashop 1.6
Prestashop 1.7
Prestashop 8
Prestashop 9 -
Available Module TranslationsDutch
English
French
German
Italian
Polish
Spanish
Turkish
MEG Venture
4 other products in the same category
| Version | 2.0.1 |
|---|---|
| Last updated | 2026-07-28 |
| Changelog | - [2026-07-24] Add French, Italian, Dutch, Polish, and Turkish translations for Size Chart Pro module strings - [2026-07-23] Translate Size Chart Pro module strings to Italian, Dutch, Polish, and Turkish; update descriptions and instructions for better clarity and localization. - [2026-07-23] Populate translation files with complete translatable strings - [2026-07-23] Populate translation files with complete translatable strings - [2026-07-23] Populate translation files with complete translatable strings - [2026-07-23] Populate translation files with complete translatable strings - [2026-07-23] Add missing translation files (fr, de, pl, nl, tr, it, es) - [2026-07-23] Add an explanatory ruler icon to the Size Chart button (2.0.1) - [2026-07-10] Update getImageUrl method to use Context for shop base URL retrieval - [2026-07-10] Refactor AJAX handling by replacing standalone scripts with a secure front controller; update README with upload troubleshooting and export functionality - [2026-07-10] Remove obsolete .htaccess file and logo.gif to streamline project assets - [2026-07-10] Update .htaccess to restrict access to PHP files, excluding ajax.php; remove redundant classes/.htaccess - [2026-07-10] Remove unnecessary initialization of Context in AJAX handler for improved security checks - [2026-07-10] Add Size Chart Pro module with initial translations and admin interface - [2026-06-21] Refactor code structure and improve consistency across files; add .htaccess for security - [2023-10-02] v1.1.1 - [2023-09-11] v1.1.0 - [2022-09-09] readme.md - [2022-09-09] v1.0.8 - [2022-02-20] Update header.tpl - [2021-12-15] v1.0.7 - [2021-11-16] Pop-up window width increased - [2021-09-10] v1.0.5 - [2021-06-22] Bug fix on product update function - [2021-01-23] v1.0.1 - [2021-01-03] Import/Export feature fix - [2020-12-19] undefined variable error fix for ps_ver - [2020-12-16] v1.0.0 Initial Release - [2020-12-15] Initial commit |
• [2026-06-21] Refactor code structure and improve consistency across files; add .htaccess for security
• [2023-10-02] v1.1.1
• [2023-09-11] v1.1.0
• [2022-09-09] readme.md
• [2022-09-09] v1.0.8
• [2022-02-20] Update header.tpl
• [2021-12-15] v1.0.7
• [2021-11-16] Pop-up window width increased
• [2021-09-10] v1.0.5
• [2021-06-22] Bug fix on product update function
• [2021-01-23] v1.0.1
• [2021-01-03] Import/Export feature fix
• [2020-12-19] undefined variable error fix for ps_ver
• [2020-12-16] v1.0.0 Initial Release
• [2020-12-15] Initial commit
Comments (1)
Your review appreciation cannot be sent
Report comment
Report sent
Your report cannot be sent