# Opticien Module PrestaShop: installatie en configuratie

> Overzicht Met de module dfopticlens verkoopt u brillen op sterkte met PrestaShop 8 en 9. Op de pagina van een montuur kiest de klant een glastype, voert zijn voorschrift in,…

- Pagina: <https://www.datafirefly.com/nl/documentation/dfopticlens/>
- Taal: nl
- Bijgewerkt op: 2026-09-24
- Andere talen: [fr](https://www.datafirefly.com/documentation/dfopticlens/index.md), [en](https://www.datafirefly.com/en/documentation/dfopticlens/index.md), [es](https://www.datafirefly.com/es/documentation/dfopticlens/index.md), [de](https://www.datafirefly.com/de/documentation/dfopticlens/index.md), [it](https://www.datafirefly.com/it/documentation/dfopticlens/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfopticlens/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfopticlens/index.md)
- Index: <https://www.datafirefly.com/nl/documentation/llms.txt>

## Overzicht

Met de module **dfopticlens** verkoopt u brillen op sterkte met PrestaShop 8 en 9. Op de pagina van een montuur kiest de klant een glastype, voert zijn voorschrift in, kiest een glas uit de aangeboden indices, voegt coatings toe en bevestigt een overzicht. De server controleert elke waarde, berekent de prijs en controleert of de correctie in het montuur past. De glasprijs komt bij de montuurregel via de standaard personalisatie van PrestaShop, en het voorschrift volgt de bestelling tot op de factuur.

## Installatie

1. Klik in _Modules > Modulebeheer_ op _Een module uploaden_ en stuur `dfopticlens-1.1.0.zip`.
2. De installatie maakt het menu _Verkopen > Optiek_ aan met vier pagina's: Voorschriften, Monturen, Glazen en indices, Coatings.
3. Vijf glazen (1.50, 1.59 polycarbonaat, 1.60, 1.67, 1.74) en zeven coatings worden aangemaakt met voorbeeldprijzen. Pas ze aan voor u live gaat.
4. De map `upload/dfopticlens/` wordt aangemaakt en beschermd met een `.htaccess`-bestand: voorschriftbestanden zijn daar nooit vanaf het web bereikbaar.

Update vanaf 1.0.0: upload het ZIP-bestand 1.1.0 eroverheen. Het updatescript voegt de nieuwe instellingen en hooks toe zonder gegevensverlies.

## Configuratie van de module

De configuratiepagina (knop _Configureren_ van de module) bevat drie blokken.

### Invoer van het voorschrift

- **Cilindernotatie voor het lab**: mincilinder, pluscilinder of zoals ingevoerd. De klant voert altijd de waarden van zijn voorschrift in; de omzetting gebeurt bij het opslaan.
- **Uploaden van het voorschrift**: uitgeschakeld, optioneel of verplicht, met een maximale grootte in MB. Formaten: PDF, JPG, PNG, gecontroleerd op inhoud.
- **Waarschuwen als het voorschrift ouder is dan** X jaar (0 schakelt uit).
- **Voorschriften van verlaten winkelwagens verwijderen na** X dagen.
- **Bestand vanuit het account sturen na de bestelling**: voegt de pagina Mijn voorschriften toe aan het klantaccount.
- **Optie Ik ken mijn pupilafstand niet** en de **gebruikte gemiddelde pupilafstand** (standaard 63 mm). De bestelling wordt dan gemarkeerd als te controleren.

### Haalbaarheidsregels

- **Glazen blokkeren die niet kunnen worden gemaakt**: standaard aan. Uitgeschakeld wordt de bestelling met een waarschuwing aanvaard.
- **Slijpmarge** en **marge op de effectieve diameter** als de ED van het montuur onbekend is (geschatte ED = A + marge).
- **Minimale glashoogte voor multifocale glazen** (28 mm) en **korte progressiezone onder** (32 mm).
- Waarschuwingsdrempels: verschil tussen de ogen, decentratie per oog, plussterkte op nylormonturen.
- **Doeldikte** van het aanbevolen glas, **middendikte** van minglazen en **randdikte** van plusglazen (geboord of niet).

### Prijzen

- **Prijzen inclusief** of exclusief btw ingevoerd. De belastingregel van het montuurproduct geldt voor de glazen.
- **Toeslagen** voor hoge sterkte en hoge cilinder: drempel in dioptrie en bedrag (0 schakelt uit).

## Glazen en indices

In _Verkopen > Optiek > Glazen en indices_ heeft elk glas:

- een naam en korte beschrijving voor de klant, in elke taal;
- de brekingsindex voor de dikteschatting en het materiaal voor de werkbon;
- de glastypes waarvoor het wordt aangeboden, met een prijs per paar voor elk: enkelvoudig, multifocaal, zonder correctie;
- minimale en maximale sfeer en maximale cilinder (absolute waarde, in mincilindernotatie zoals de bereiken van fabrikanten);
- de grootste beschikbare ruwglasdiameter (0 schakelt de controle uit) en of het geboord kan worden voor randloze monturen.

## Coatings

In _Coatings_ heeft elke coating een prijs per paar (0 toont ze als inbegrepen). De **exclusieve groep** voorkomt dat twee coatings worden gecombineerd: coatings met dezelfde code, bijvoorbeeld `tint` voor fotochromatisch, zonnetint en gepolariseerd, sluiten elkaar uit. U kunt een coating ook beperken tot bepaalde glazen, bijvoorbeeld gepolariseerd tot de indices 1.50 en 1.60.

## Monturen

Een montuur koppelt een product, of een van zijn combinaties, aan zijn maten. Het glazenblok verschijnt alleen bij producten met een ingeschakeld montuur.

### Een montuur aanmaken

1. Klik in _Monturen_ op _Montuur toevoegen_, of op de productpagina, tabblad _Modules_, op _Maten van het montuur toevoegen_.
2. Zoek het product op naam, referentie of ID en kies _Alle combinaties_ of een bepaalde combinatie. Een montuur voor een combinatie heeft voorrang.
3. Vul het type in (volrand, nylor, randloos), de glasbreedte A, de brug DBL en de glashoogte B, allemaal verplicht. Dit zijn de getallen op de veer: 52□18 geeft A = 52 en DBL = 18.
4. Optioneel: de effectieve diameter ED (anders geschat) en de maximale sterkte die het montuur aankan.
5. Vink de aangeboden glastypes aan en zo nodig **Alleen met glazen verkopen**.

Met Alleen met glazen verkopen opent de standaard winkelwagenknop de glaskeuze. Voegt een directe winkelwagenaanroep het montuur toch alleen toe, dan verwijdert de module het uit de winkelwagen.

### CSV-import en -export

De knop _CSV exporteren_ levert een bestand in het juiste formaat. De import accepteert puntkomma of komma en deze kolommen:

```
product;combination;frame_type;lens_width;lens_height;bridge;ed;max_power;vision_types;lens_required;active
```

- `product`: product-ID of referentie; `combination`: combinatie-ID of referentie, leeg of 0 voor alle.
- `frame_type`: full, semi of rimless; `vision_types`: single|progressive|plano.
- Een bestaand montuur (zelfde product en combinatie) wordt bijgewerkt. Geweigerde regels worden met hun nummer vermeld.

De knop _Producten opnieuw synchroniseren_ bouwt de personalisatievelden van de producten opnieuw op, handig als een medewerker zonder rechten op de module producten heeft bewerkt.

## Traject van de klant

1. **Type**: enkelvoudig, multifocaal of zonder correctie, afhankelijk van wat het montuur aanbiedt. Zonder correctie wordt de stap voorschrift overgeslagen.
2. **Voorschrift**: OD / OS-tabel, pupilafstand als een of twee waarden, datum, bestand en opmerking voor de opticien. Een ingelogde klant kan het voorschrift van een eerdere bestelling hergebruiken.
3. **Glas**: kaarten met prijs per paar, doorsnede op schaal, geschatte dikte en aanbevolen glas. Niet te maken glazen zijn grijs met de reden.
4. **Coatings**: coatings die niet beschikbaar zijn voor het gekozen glas zijn grijs.
5. **Overzicht**: haalbaarheidsstatus, opmerkingen, prijsdetail en totaal van montuur en glazen.

De invoer blijft bewaard als de klant de pagina herlaadt en wordt gewist na het toevoegen aan de winkelwagen.

## Haalbaarheidsregels

| Controle | Gevolg |
| --- | --- |
| Sfeer of cilinder buiten het bereik van het glas | Glas niet beschikbaar |
| Benodigde ruwglasdiameter (ED + 2 × decentratie + marge) groter dan het ruwglas | Glas niet beschikbaar als blokkeren aan staat |
| Randloos montuur en materiaal dat niet geboord kan worden | Glas niet beschikbaar als blokkeren aan staat |
| Hoogte B onder het minimum voor multifocaal | Blokkerend (of waarschuwing) |
| Hoogte B onder de drempel voor korte progressiezone | Informatie |
| Sterkte boven het maximum van het montuur | Blokkerend (of waarschuwing) |
| Verschil tussen de ogen, sterke decentratie, hoge plussterkte op nylor, oud voorschrift, onbekende pupilafstand | Waarschuwing, bestelling gemarkeerd als te controleren |

De berekeningen gebruiken de mincilindernotatie. De dikte wordt geschat met de pijlhoogteformule: ze dient om indices te vergelijken en is niet de berekening van het lab.

## Prijzen, kortingen en factuur

De glasprijs wordt exclusief btw opgeslagen in de personalisatie van de winkelwagenregel. PrestaShop telt hem op bij de montuurprijs en past de btw van het product toe. Heeft het montuur een procentuele korting (specifieke prijs of klantengroep), dan past PrestaShop die ook toe op de glazen: het paneel toont de doorgestreepte prijs en een regel Actie op het montuur geldt ook voor de glazen, zodat het getoonde totaal klopt met de winkelwagen.

## Bestellingen en werkbon

- De bestelpagina in de back-office toont per voorschrift een blok: omgezette waarden, glas, coatings, maten van het montuur, decentratie en minimaal ruwglas per oog, haalbaarheidsopmerkingen en prijsdetail.
- **Werkbon afdrukken** opent een A4-pagina die klaar is om af te drukken.
- **Voorschriftbestand downloaden** haalt de scan op die de klant heeft gestuurd.
- _Verkopen > Optiek > Voorschriften_ toont alle voorschriften met hun status: OK, te controleren, niet haalbaar.

## Klantaccount: Mijn voorschriften

Een klant die glazen heeft besteld, ziet de link _Mijn voorschriften_ in zijn account. De pagina toont elk voorschrift met de bijbehorende bestelling. Is de upload optioneel en heeft de klant het bestand niet toegevoegd, dan kan hij het vanaf deze pagina sturen; de opticien vindt het daarna in de bestelling.

## Gezondheidsgegevens en AVG

- Voorschriftbestanden staan buiten de publieke map en zijn alleen via de back-office te downloaden.
- Voorschriften van winkelwagens die nooit zijn besteld, worden na de ingestelde termijn verwijderd, samen met de bijbehorende winkelwagenregel.
- Met de officiële module psgdpr omvatten export en verwijdering van klantgegevens ook de voorschriften.

## Problemen oplossen

### Het glazenblok verschijnt niet op de productpagina

Controleer of het product een ingeschakeld montuur heeft en of het thema de hook `displayProductAdditionalInfo` toont. Leeg de cache van PrestaShop.

### De standaard winkelwagenknop opent het paneel niet bij een montuur alleen met glazen

De module onderschept knoppen met `data-button-action="add-to-cart"`. Gebruikt uw thema een ander attribuut, dan blijft de blokkering aan serverzijde actief: het montuur alleen wordt uit de winkelwagen verwijderd.

### Het totaal in het paneel wijkt af van de winkelwagen

Een korting met vast bedrag geldt alleen voor het montuur en een winkelwagenregel (kortingscode) geldt voor de hele winkelwagen: ze verschijnen niet in het glazenpaneel.
