# dfreparability — Reparatur- und Haltbarkeitsindex für PrestaShop

> Das Modul dfreparability deckt die Pflicht zur Anzeige des französischen Reparaturindex (AGEC-Gesetz, Erlass vom 29. Dezember 2020) und des Haltbarkeitsindex (Dekret vom 22. April 2022) für die 11 betroffenen Produktkategorien…

- Seite: <https://www.datafirefly.com/de/documentation/dfreparability/>
- Sprache: de
- Aktualisiert am: 2026-07-02
- Weitere Sprachen: [fr](https://www.datafirefly.com/documentation/dfreparability/index.md), [en](https://www.datafirefly.com/en/documentation/dfreparability/index.md), [es](https://www.datafirefly.com/es/documentation/dfreparability/index.md), [it](https://www.datafirefly.com/it/documentation/dfreparability/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfreparability/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfreparability/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfreparability/index.md)
- Index: <https://www.datafirefly.com/de/documentation/llms.txt>

Das Modul **dfreparability** deckt die Pflicht zur Anzeige des französischen Reparaturindex (AGEC-Gesetz, Erlass vom 29. Dezember 2020) und des Haltbarkeitsindex (Dekret vom 22. April 2022) für die 11 betroffenen Produktkategorien in PrestaShop 8 und 9 ab.

## Rechtsrahmen

Zwei Rechtstexte strukturieren die Verpflichtung:

- **Reparaturindex** — verpflichtend seit 1. Januar 2021 für 9 anfängliche Kategorien, schrittweise erweitert (AGEC-Gesetz vom Februar 2020, Erlass vom 29. Dezember 2020).
- **Haltbarkeitsindex** — eingeführt durch das Dekret vom 22. April 2022. Ersetzt den Reparaturindex seit April 2024 für Fernseher und seit April 2025 für Frontlader-Waschmaschinen.

Beide Indizes werden auf einer Skala von 0 bis 10 aus den 5 Bercy-Kriterien berechnet (jedes mit 20 Unterpunkten bewertet). Der Haltbarkeitsindex fügt 3 zusätzliche Kriterien hinzu (Zuverlässigkeit, Aufrüstbarkeit, Wartung).

**Bußgeld** — die fehlende Anzeige kann für juristische Personen eine Geldbuße von bis zu 15 000 € pro nicht konformem Produkt zur Folge haben (Artikel L541-9-2 des französischen Umweltgesetzbuchs).

## Installation

1. Öffnen Sie im PrestaShop-Backoffice _Module → Modulverwaltung_, klicken Sie auf _Modul hochladen_ und legen Sie die Datei `dfreparability.zip` ab.
2. Klicken Sie auf _Installieren_. Das Modul:
   - legt die Tabelle `ps_dfreparability_product` an, um die Bewertungen pro Produkt zu speichern;
   - erstellt eine CMS-Seite _Reparatur- und Haltbarkeitsindex_ mit einem sofort anpassbaren Referenzinhalt;
   - registriert die 11 vorkonfigurierten Kategorien mit den passenden Bercy-Kriterien.
3. Bei der Installation ändert das Modul _keine_ bestehende Produktseite. Sie tragen die Bewertungen Produkt für Produkt ein.

## Index auf einer Produktseite eintragen

dfreparability fügt der Produktseite ein Panel _Reparatur- / Haltbarkeitsindex_ hinzu, sowohl im Legacy-Modus als auch im Symfony-Modus (PrestaShop 9) verfügbar. Das Vorgehen ist in beiden Modi identisch.

### Die 4 Schritte

1. **Indextyp** — wählen Sie _Reparaturfähigkeit_ oder _Haltbarkeit_. Für Fernseher und Frontlader-Waschmaschinen wählen Sie direkt _Haltbarkeit_ (neue Verpflichtung).
2. **Kategorie** — wählen Sie aus den 11 vorkonfigurierten Kategorien. Das Kriterienraster passt sich automatisch an.
3. **Bewertungen je Kriterium** — jedes auf einer Skala von 20. Die 5 Bercy-Kriterien sind immer sichtbar. Wenn _Haltbarkeit_ ausgewählt ist, erscheinen die 3 zusätzlichen Kriterien.
4. **Endnote** — automatisch aus den Kriterien berechnet. Ein Feld _Manuelle Note_ erlaubt es, den Wert zu überschreiben, wenn Sie eine spezifische Bercy-Anpassung anwenden, die im offiziellen Raster des Herstellers dokumentiert ist.

**Optionales Feld — PDF-Raster**: geben Sie den Link zum offiziellen detaillierten PDF-Raster des Herstellers ein. Er wird auf der detaillierten Bewertungsseite des Produkts angezeigt.

## Berechnung der Note von 10

Das Modul wendet die offizielle Bercy-Methode an:

```
note_von_10 = (Summe der Bewertungen / Anzahl der Kriterien) / 2
```

Beispiel für ein Smartphone mit Reparaturindex und diesen 5 Bewertungen:

- Dokumentation: 16 / 20
- Zerlegbarkeit: 14 / 20
- Verfügbarkeit der Ersatzteile: 12 / 20
- Preis der Ersatzteile: 10 / 20
- Produktspezifisch: 18 / 20

Note: (16 + 14 + 12 + 10 + 18) / 5 / 2 = 14 / 2 = **7,0 von 10** — hellgrünes Band.

### Die 5 vorgeschriebenen Bänder

Die Logo-Farbe hängt von der Note ab und folgt strikt den offiziellen Schwellenwerten:

| Note | Band | Farbcode |
| --- | --- | --- |
| ≥ 8,0 | Dunkelgrün | `#2d8c3c` |
| 7,0 bis 7,9 | Hellgrün | `#79c142` |
| 5,0 bis 6,9 | Gelb | `#f5d70a` |
| 3,0 bis 4,9 | Orange | `#f08017` |
| < 3,0 | Rot | `#cf2127` |

## Die 11 vorkonfigurierten Kategorien

1. Smartphones
2. Laptops
3. Fernseher _(Haltbarkeit seit April 2024)_
4. Frontlader-Waschmaschinen _(Haltbarkeit seit April 2025)_
5. Toplader-Waschmaschinen
6. Geschirrspüler
7. Kabelgebundene Staubsauger
8. Kabellose Staubsauger
9. Saugroboter
10. Hochdruckreiniger
11. Elektrische Rasenmäher

Für jede Kategorie enthält das Modul das Kriterienraster gemäß den offiziellen Rechtstexten. Wenn Bercy eine Weiterentwicklung der Kriterien veröffentlicht, wird ein Modul-Update im Rahmen Ihrer Lizenz bereitgestellt.

## Anzeige im Shop

### Wahl der Position

Aus der Modul-Konfiguration (_Module → dfreparability → Konfigurieren_) werden drei Positionen auf der Produktseite angeboten:

- **Unter dem Preis** (empfohlen) — verwendet den Hook `displayProductPriceBlock` mit `type=after_price`. Direkt beim Öffnen der Produktseite sichtbar.
- **In einem Tab mit Zusatzinformationen** — verwendet `displayProductAdditionalInfo`. Platziert den Index in einem eigenen Tab.
- **Unter den Miniaturen** — verwendet `displayAfterProductThumbs`. Empfohlen, wenn Ihr Theme die Produktinformationen rechts neben den Miniaturen platziert.

Nur eine Position sollte gleichzeitig aktiv sein, um Duplikate zu vermeiden. Das Modul erzwingt diese Exklusivität in der Konfiguration.

### Kompakte Anzeige in Listen

Eine separate Option aktiviert ein kompaktes Badge auf Produktlisten (Kategorie-, Such-, Ergebnisseiten) über den Hook `displayProductListReviews`. Das Badge zeigt das farbige Logo und die Note von 10 ohne Aufschlüsselung der Kriterien.

### Detaillierte Bewertungsseite

Jedes Produkt mit einem definierten Index hat eine öffentliche Seite unter `/module/dfreparability/detail?id_product={id}`, die Folgendes anzeigt:

- das farbige Logo im großen Format;
- die Note von 10 mit dem entsprechenden Farbband;
- das vollständige Kriterienraster mit den einzelnen Bewertungen;
- den Link zum offiziellen PDF, falls angegeben;
- einen Link zur CMS-Seite mit rechtlichen Informationen.

## CMS-Seite mit rechtlichen Informationen

Bei der Installation erstellt das Modul eine CMS-Seite _Reparatur- und Haltbarkeitsindex_ mit einem Referenzinhalt auf Französisch, der Folgendes abdeckt:

- die rechtlichen Grundlagen (AGEC-Gesetz, Erlass 2020, Dekret 2022);
- die Tabelle der 5 Farbbänder mit ihren Schwellenwerten;
- die Liste der 11 betroffenen Kategorien und ihre Inkrafttretungsdaten;
- die 5 Bercy-Kriterien und ihre Gewichtung;
- die zusätzlichen Kriterien für die Haltbarkeit.

Sie können diese Seite über _Design → Seiten_ frei bearbeiten und in allen aktiven Sprachen übersetzen. Die Links von den Produktseiten zeigen automatisch auf die Version in der Anzeigesprache des Besuchers.

## Anpassung der Darstellung

### Die Logos durch die originalen Bercy-Grafiken ersetzen

Das Modul liefert 10 SVG-Logos (2 Indizes × 5 Bänder), inspiriert vom offiziellen Visual. Wenn der Hersteller Ihnen die offiziellen PNG- oder SVG-Dateien zur Verfügung gestellt hat, ersetzen Sie die Dateien in `views/img/logos/` unter Beibehaltung der Dateinamen:

```
reparability-dark-green.svg
reparability-light-green.svg
reparability-yellow.svg
reparability-orange.svg
reparability-red.svg
durability-dark-green.svg
durability-light-green.svg
durability-yellow.svg
durability-orange.svg
durability-red.svg
```

### CSS anpassen

Das Frontend-Rendering verwendet die CSS-Klassen `.dfrep-badge`, `.dfrep-score`, `.dfrep-band-*`. Das Haupt-Stylesheet befindet sich in `views/css/dfreparability.css`. Um Anpassungen vorzunehmen, ohne das Modul zu ändern, fügen Sie Ihre Regeln in das CSS Ihres Child-Themes ein — die Selektoren bleiben zwischen den Versionen stabil.

## Mehrsprachigkeit und Multi-Shop

Enthaltene Übersetzungen: Französisch, Englisch, Spanisch, Deutsch. Zusätzliche Sprachen können über das Standard-Übersetzungswerkzeug von PrestaShop (_International → Übersetzungen_) hinzugefügt werden.

Die Produktbewertungen werden pro `id_product` gespeichert und daher zwischen Shops in einem Multi-Shop-Netzwerk geteilt. Wenn ein Produkt pro Shop unterschiedliche Bewertungen benötigt, müssen Sie es deklinieren. Die CMS-Seite mit rechtlichen Informationen kann jedoch pro Shop über das PrestaShop-Standardwerkzeug differenziert werden.

## Produktduplikation

Das Modul lauscht auf den Hook `actionProductAdd`: Wenn Sie ein Produkt mit einem definierten Index duplizieren, werden die Bewertungen und das Kriterienraster automatisch auf das neue Produkt kopiert.

## Kompatibilität und Voraussetzungen

- **PrestaShop**: 8.0 bis 9.x (beide Modi der Produktseite, Legacy und Symfony).
- **PHP**: mindestens 7.4, empfohlen 8.1+.
- **Themes**: kompatibel mit Classic, Hummingbird und Drittanbieter-Themes, die die standardmäßigen Produktseiten-Hooks auslösen.
- **PrestaShop 1.7**: nicht unterstützt.

## Fehlerbehebung

### Das Badge erscheint zweimal auf der Produktseite

Überprüfen Sie, dass Sie nicht mehrere Anzeigepositionen gleichzeitig in der Modul-Konfiguration aktiviert haben. Seit v1.0.1 reagiert der Hook `displayProductPriceBlock` nur auf den Typ `after_price`, was interne Duplikate des Preisblocks verhindert.

### Die Detailseite gibt „Controller not found“ zurück

Bei PrestaShop 9 den Symfony-Cache leeren (_Erweiterte Parameter → Performance → Cache leeren_) nach der Installation. Version 1.0.1 korrigiert die Groß-/Kleinschreibung des Frontend-Controller-Klassennamens auf die kanonische Form, die der PS-9-Dispatcher erwartet.

### Das Panel erscheint nicht auf der Symfony-Produktseite

Überprüfen Sie, dass der Hook `actionProductFormBuilderModifier` korrekt mit dem Modul verknüpft ist (_Design → Positionen_). Es ist der native Symfony-Hook — wenn ein anderes Modul ihn global deaktiviert hat, aktivieren Sie ihn für dfreparability erneut.

## Versionsverlauf

### 1.0.1 — 14. Mai 2026

- Behebung der doppelten Badge-Anzeige im Preisblock (`displayProductPriceBlock` beschränkt auf `after_price`).
- Korrektur des Frontend-Controller-Klassennamens auf die von PrestaShop 9 erwartete kanonische Form.
- Defensives Laden von `dfreparability.php` und `classes/DfReparabilityProduct.php` am Anfang des Frontend-Controllers.
- Umstellung der Smarty-Variablen `$link` auf `$module_dir` im Admin-Template (der ExtraModulesType-Kontext von PS 9 injiziert `$link` nicht).

### 1.0.0 — 14. Mai 2026

- Erste öffentliche Version.
- Reparatur- und Haltbarkeitsindex pro Produkt.
- 11 vorkonfigurierte Kategorien, 5 vorgeschriebene Bänder, 10 SVG-Logos.
- Detaillierte Bewertungsseite, CMS-Seite mit rechtlichen Informationen.
- Übersetzungen FR, EN, ES, DE. Kompatibel mit PrestaShop 8 und 9.
