PrestaShop 9 is the biggest architectural shift the platform has seen in years. Under the hood, the product page has been completely rewritten around Symfony forms — and that change has quietly broken most third-party modules that inject custom tabs into the product editor. If you sell physical products to EU customers and rely on a GPSR module, there is a good chance your compliance setup stopped working the moment you upgraded.

This guide explains what changed in PrestaShop 9, why it matters for EU General Product Safety Regulation (GPSR) compliance, and how to get a working GPSR tab back into the PS9 product editor without hacks or workarounds.

What Changed in PrestaShop 9

PrestaShop 9 completed a transition that began back in version 1.7: the admin product page is now fully built on Symfony forms. In previous versions, the product editor was a hybrid — part legacy, part Symfony — and modules could still hook into the old system using the displayAdminProductsExtra hook to add custom tabs and fields.

That hybrid approach is gone in PS9. Here is what changed at a technical level:

  • Symfony-based product forms — The entire product editor uses Symfony FormType classes. Every tab, every field, every validation rule runs through the Symfony form system.
  • Legacy hooks deprecated — The displayAdminProductsExtra hook that most modules used to inject custom product tabs no longer renders in the PS9 product page. It still exists in the codebase for backward compatibility in other contexts, but the new product editor ignores it.
  • FormType modifiers required — To add a tab or fields to the PS9 product editor, modules must register a ProductFormModifier service. This is a Symfony-native pattern that lets modules define form fields, templates, and data handling through the dependency injection container.
  • New template engine — The admin product page uses Twig templates instead of Smarty .tpl files. Modules that relied on Smarty template overrides for the admin product page will not render.

For merchants, these changes are invisible — the product editor looks similar, maybe a bit faster. But for modules, it is a breaking change. Any module that relied on the old hook-based approach to add product tabs must be rewritten to use Symfony form modifiers, or it simply will not appear in PS9.

Why Most GPSR Modules Break on PrestaShop 9

The EU General Product Safety Regulation (GPSR) requires merchants to display specific information on every product page: the manufacturer, an EU-based responsible person, safety warnings, and compliance documents. To enter that data, GPSR modules add a tab or panel to the back-office product editor.

Here is the problem: virtually every GPSR module built for PrestaShop 1.7 or 8 uses the displayAdminProductsExtra hook to inject that tab. On PrestaShop 9, that hook is no longer rendered on the product page. The result:

  • The GPSR tab disappears from the product editor
  • You cannot enter or edit manufacturer, responsible person, or safety data
  • Existing GPSR data is still in the database, but there is no interface to manage it
  • New products are created without any GPSR information
The worst part: many merchants discover this after upgrading to PrestaShop 9. The module shows as "installed and active" in the module manager, but the GPSR tab simply is not there. There is no error message — the tab just vanishes. You only notice when you open a product and realize the compliance fields are missing.

This creates a compliance gap. Your store is live, products are being sold to EU consumers, but you have no way to manage the GPSR data that EU regulations require since December 13, 2024.

How GPSR Compliance Pro Handles PrestaShop 9

GPSR Compliance Pro was built with PrestaShop 9 compatibility from the start. Instead of relying on a single hook system, the module uses parallel integration layers that activate based on your PrestaShop version:

Symfony ProductFormModifier on PS9

On PrestaShop 9, the module registers a Symfony service that implements the ProductFormModifier interface. This service injects the GPSR tab directly into the product form — the same way PrestaShop's own built-in tabs (Pricing, SEO, Shipping) are rendered. The GPSR tab is not bolted on through a hook; it is a native part of the Symfony form tree.

This means:

  • The GPSR tab appears alongside all other product tabs in the PS9 editor
  • Form validation, data saving, and error handling all go through Symfony's form lifecycle
  • The tab respects PS9's new permission system and multi-store context
  • No template overrides are needed — the module provides its own Twig templates that PS9 renders natively

Legacy hooks on PS 1.7 and 8

On PrestaShop 1.7 and 8, the same module activates the traditional displayAdminProductsExtra hook to render the GPSR tab in the legacy/hybrid product editor. The module detects which hook system is available at runtime and uses the correct one.

The result is a single module that works correctly across three major PrestaShop versions — no separate downloads, no version-specific builds, no workarounds.

Make Your PrestaShop 9 Store GPSR Compliant

Native Symfony integration. No legacy hooks. No template overrides. Works on PS 1.7, 8 and 9.

Get GPSR Compliance Pro →

Step-by-Step: Setting Up GPSR on PrestaShop 9

Once you have GPSR Compliance Pro installed, here is how to configure it for full EU compliance on PrestaShop 9:

  1. Install the module from PrestaShop Addons. Download the module from the PrestaShop Addons marketplace, upload it through your back office under Modules > Module Manager, and click Install. The module auto-detects PS9 and registers its Symfony form modifier.
  2. Navigate to the GPSR Compliance menu. After installation, a new "GPSR Compliance" section appears in your back-office sidebar. This is your central hub for all compliance data.
  3. Add your EU Responsible Persons. Go to the Responsible Persons tab and create entries for each EU-based responsible person in your supply chain. Enter the company name, address, email, phone, and any applicable identifiers. Under GPSR Article 16, every product sold in the EU needs an EU-based responsible person.
  4. Add manufacturers with GPSR fields. Register your manufacturers with the required GPSR information: legal name, registered address, contact details, and country of origin. These can be linked to products individually or in bulk.
  5. Create safety warnings in the Safety Library. Build a reusable library of safety warnings, hazard pictograms, and document types. Define each warning once with multilingual translations, then assign them across products. This avoids re-entering the same safety text on hundreds of product pages.
  6. Bulk assign to products by category. Use the category-based bulk assignment tool to apply GPSR data across entire product categories at once. Select a category, choose the manufacturer, responsible person, and relevant safety warnings, and apply. Thousands of products can be updated in a single operation.
  7. Verify with the Compliance Dashboard. Open the GPSR Dashboard to see four KPI cards showing your compliance status: products missing a responsible person, products missing manufacturer data, products missing safety warnings, and products missing compliance documents. Each card links directly to the affected products so you can fix gaps immediately.

PrestaShop 9 Compatibility Checklist

Before choosing a GPSR module for PrestaShop 9, verify it meets these technical requirements:

  • Symfony FormType integration — The module must use ProductFormModifier to inject the GPSR tab into the PS9 product editor
  • No legacy hooks dependency — Must not rely on displayAdminProductsExtra as the sole integration point
  • No template overrides — Should not require editing .tpl or .twig files in the PrestaShop core
  • PHP 8.1+ compatible — PrestaShop 9 requires PHP 8.1 at minimum; the module must be tested against it
  • Multi-store on PS9 — Multi-store in PS9 has its own quirks; the module must handle shop context correctly in Symfony forms
  • Works with Hummingbird theme — PS9 ships with the Hummingbird front-office theme; GPSR data must render correctly on it

GPSR Compliance Pro meets all six criteria. If you are evaluating alternatives, use this checklist to verify their PS9 readiness before purchasing.

What Happens If You Don't Comply

The EU General Product Safety Regulation (Regulation 2023/988) has applied since December 13, 2024. This is not an upcoming regulation — it is already in force. Non-compliance carries real consequences:

  • Financial penalties — EU member states can impose fines for selling products without the required GPSR information. Penalty amounts vary by country, but they are designed to be proportionate and dissuasive.
  • Product removals — Market surveillance authorities can order non-compliant products to be withdrawn from sale. If your product pages lack a responsible person or safety information, your listings can be taken down.
  • Marketplace enforcement — Amazon, eBay, and other EU marketplaces are already requiring GPSR data fields. Products missing this data may be suppressed, delisted, or blocked from sale entirely. If you sell on marketplaces in addition to your PrestaShop store, GPSR data is doubly critical.
  • Consumer reporting — Under GPSR, consumers have the right to report non-compliant products to national market surveillance authorities. A missing responsible person or inadequate safety information on your product page can trigger an investigation.

Upgrading to PrestaShop 9 without verifying that your GPSR module still works is a compliance risk. The regulation does not care which version of PrestaShop you are running — it cares whether the required information is displayed on your product pages.

Frequently Asked Questions

Yes. GPSR Compliance Pro uses PrestaShop 9's Symfony ProductFormModifier API to inject the GPSR tab directly into the new product editor. It does not rely on legacy hooks, so the tab appears as a native section alongside the built-in product tabs like Pricing, SEO, and Shipping.

No. GPSR Compliance Pro detects your PrestaShop version at runtime and activates the appropriate integration layer. On PS 1.7 and 8 it uses the displayAdminProductsExtra hook; on PS 9 it switches to the Symfony FormType modifier. Your existing GPSR data carries over without any migration steps.

Yes. On PrestaShop 9, the GPSR tab is rendered inside the Symfony-based product form as a native tab. You will see it alongside the standard tabs (Pricing, SEO, Shipping, etc.) when editing any product. It looks and behaves like a built-in part of the product editor.

Yes. A single installation of GPSR Compliance Pro covers PrestaShop 1.7.7 through 9.x. The module ships with parallel hook systems — legacy hooks for PS 1.7/8 and Symfony form modifiers for PS 9 — so it integrates correctly regardless of which major version you are running.

No. GPSR Compliance Pro requires zero template overrides. On the back-office side, the GPSR tab is injected via Symfony FormType modifiers. On the front-office side, the module uses PrestaShop's standard display hooks to render compliance data on product pages. No .tpl or .html.twig files need to be edited.

Don't Let Your PrestaShop 9 Upgrade Break GPSR Compliance

Get native Symfony integration, zero legacy hook dependencies, and full EU GPSR compliance on PrestaShop 9 — plus backward compatibility with PS 1.7 and 8.

Get GPSR Compliance Pro