PS PrestaShop Beginner

Gratisverzendingsbalk (dffreeshipbar): complete handleiding

Installeer en configureer de gratisverzendingsbalk voor PrestaShop 8 en 9: drempels per land en per provincie, productpagina, zijwinkelwagen van Creative Elements, berichten per taal, weergave, vervoerders, klantgroepen, meerdere valuta en probleemoplossing.

Bijgewerkt Moduleversie 2.3.0

Complete handleiding voor de module dffreeshipbar 2.3.0 voor PrestaShop 8 en 9: installatie, drempels per land en per provincie, weergaveposities (waaronder de productpagina en de zijwinkelwagen van Creative Elements), berichten, weergave, vervoerders, meerdere valuta en probleemoplossing.

Overzicht

dffreeshipbar toont een voortgangsbalk die de klant laat zien hoeveel hij nog moet besteden voor gratis verzending. Zodra de drempel is bereikt, wordt het bericht een bevestiging.

De module werkt met eigen drempels, opgeslagen in eigen tabellen. Ze leest de standaardinstelling PS_SHIPPING_FREE_PRICE nooit: u kunt die op 0 laten staan en gratis verzending zonder conflict via vervoerdersschijven regelen.

Het onderscheidende kenmerk is de gebiedsresolutie op twee niveaus: een drempel kan per land en per PrestaShop-provincie (staat) worden ingesteld. Gebieden die bij hetzelfde land horen, zoals de overzeese departementen van Frankrijk, kunnen zo verschillend worden behandeld.

Vereisten

  • PrestaShop 8.0 tot 9.x
  • PHP minimaal 7.4 (8.0 tot 8.3 ondersteund)
  • Thema Classic, Hummingbird of een eigen thema dat de standaardhooks aanroept
  • Creative Elements (optioneel) voor de positie in de zijwinkelwagen

Installatie

  1. Ga in de backoffice naar Modules → Modulebeheer → Een module uploaden.
  2. Upload het bestand dffreeshipbar-2.3.0.zip.
  3. Klik op Installeren en daarna op Configureren.

De module maakt twee tabellen aan (PREFIX_dffreeshipbar_country en PREFIX_dffreeshipbar_state, elk met een kolom id_shop) en registreert de hooks displayHeader, displayBanner, displayNav2, displayNavFullWidth, displayShoppingCartFooter, displayCheckoutSummaryTop, displayProductAdditionalInfo, displayCEShoppingCartFooter en actionCarrierUpdate.

Let op. De globale drempel is standaard uitgeschakeld. Zolang geen enkel gebied een drempel heeft, verschijnt de balk nergens, en de overzichtsbalk in de backoffice meldt dat. Geen balk is beter dan een balk die gratis verzending belooft die u niet aanbiedt.

Het configuratiescherm

Het scherm staat onder Modules → DataFirefly – Gratisverzendingsbalk → Configureren. Bovenaan toont een overzichtsbalk de status van de module, het aantal gebieden met drempel en uitgesloten gebieden, de globale drempel, het vervoerdersfilter en de actieve posities. Elke tegel opent het bijbehorende tabblad.

De configuratie is verdeeld over vijf tabbladen: Algemeen, Gebieden, Vervoerders, Berichten en Weergave. Het actieve tabblad blijft na het opslaan geselecteerd.

Taal van de beheerinterface. De backoffice van de module is beschikbaar in het Engels, Frans, Duits, Spaans, Italiaans en Pools. In een Nederlandstalige backoffice verschijnen de labels in het Engels. De teksten die uw klanten zien, stelt u in het Nederlands in via het tabblad Berichten.

Tabblad Algemeen

Globale drempel

  • Use a global fallback threshold: op Nee verschijnt de balk alleen in ingestelde gebieden. Op Ja krijgt elk niet-ingesteld gebied het ingevoerde bedrag.
  • Global fallback threshold: het bedrag dat als laatste redmiddel geldt.

Meerdere valuta

Alle bedragen van de module worden ingevoerd in de standaardvaluta van de winkel. Voor een bezoeker die in een andere valuta betaalt, wordt de drempel tegen de wisselkoers van PrestaShop omgerekend voordat hij met de winkelwagen wordt vergeleken, en de getoonde bedragen worden in zijn valuta opgemaakt.

Afleveradres vereisen

Zolang er geen adres is ingevoerd, is de bestemming slechts een schatting en is de provincie onbekend. Drie modi:

  • Never: de balk verschijnt al tijdens het browsen, op basis van het geschatte land.
  • For countries with states (aanbevolen): de balk blijft overal zichtbaar, behalve in landen waarvan de provincies andere voorwaarden kunnen hebben; daar wacht hij op het adres.
  • Always: niets zolang er geen adres aan de winkelwagen hangt.

Berekeningsbasis

  • Totalen incl. btw vergelijken: moet overeenkomen met de basis van uw vervoerdersschijven, anders lopen balk en afrekenen uiteen.
  • Winkelwagenregels meetellen: een winkelwagen van 70 € met een tegoedbon van 10 € wordt dan als 60 € beoordeeld.

Verzendkosten tellen nooit mee voor de voortgang.

Klantgroepen

Zonder aangevinkt vakje ziet iedere klant de balk. Vink groepen aan om hem aan hen voor te behouden, bijvoorbeeld particulieren wanneer zakelijke klanten andere verzendvoorwaarden hebben. Een niet-ingelogde bezoeker hoort bij de groep “Bezoeker”.

Verbergen zolang de winkelwagen leeg is

De balk verschijnt bij het eerste toegevoegde product. De productpagina houdt hem altijd zichtbaar, omdat de klant daar beslist om toe te voegen.

Weergaveposities

  • Bovenaan de pagina: banner op de hele site.
  • Productpagina: zie het aparte hoofdstuk hieronder.
  • Winkelwagen en afrekenen: blok op de winkelwagenpagina en in het afrekenproces.
  • Zijwinkelwagen van Creative Elements: zie het aparte hoofdstuk hieronder.

Voor vrije plaatsing implementeert de module WidgetInterface:

{widget name='dffreeshipbar'}
{widget name='dffreeshipbar' position='cart'}

De balk op de productpagina

De balk verschijnt onder de knop In winkelwagen (hook displayProductAdditionalInfo). Naast de huidige voortgang toont een regel het effect van het getoonde product:

  • als het product volstaat om de drempel te halen: “Voeg dit product toe en uw bestelling wordt gratis verzonden”;
  • anders: “Met dit product nog maar 2,50 € tot gratis verzending”.

De berekening gebruikt de prijs van de gekozen combinatie maal de ingevoerde hoeveelheid, op dezelfde btw-basis als de winkelwagen en met de specifieke prijzen van de klant. Ze loopt opnieuw wanneer de klant een andere combinatie of hoeveelheid kiest.

Update vanaf een eerdere versie. Deze positie start uitgeschakeld in een bestaande winkel, zodat de update niet verandert wat uw klanten zien. Schakel haar in via het tabblad Algemeen.

De zijwinkelwagen van Creative Elements

In een winkel waarvan de header met Creative Elements is gebouwd, past de balk in de zijwinkelwagen van de widget Winkelwagen met de skin Sidebar, via de hook displayCEShoppingCartFooter die deze widget uitvoert. De skin Classic opent geen zijwinkelwagen.

De instelling Positie in de zijwinkelwagen biedt drie plekken: onder de titel, boven het overzicht of boven de afrekenknoppen.

De balk wordt via Ajax bijgewerkt bij elke toevoeging aan de winkelwagen en elke verwijdering uit de zijwinkelwagen, zonder herladen, en de balk schuift vanaf zijn vorige waarde. Creative Elements bouwt alleen de productlijst en het overzicht opnieuw op: de balk blijft tussen twee updates op zijn plaats.

Tabblad Gebieden

De tabel toont alle actieve landen van de winkel en onder elk land met provincies die provincies, ingesprongen. Een zoekveld en een filter voor ingestelde gebieden maken het overzichtelijk. Bedragen zijn in de standaardvaluta.

Volgorde van resolutie

Voor een afleveradres zoekt de module in deze volgorde en stopt bij de eerste treffer: de provincie van het adres, dan het land, dan de globale drempel als die is ingeschakeld. Zonder treffer wordt de balk niet getoond.

Vakje en bedrag: twee verschillende effecten

  • Vakje uitgevinkt: de balk is voor dat gebied verborgen, zonder overerving van het land of de globale drempel.
  • Vakje aangevinkt, bedrag leeg: de regel wordt verwijderd, het gebied erft van het bovenliggende niveau.
  • Vakje aangevinkt, bedrag ingevuld: dat bedrag geldt.
Let op. Om een gebied uit te sluiten, vinkt u het vakje uit. Het bedrag leegmaken doet het omgekeerde: het gebied erft de drempel van zijn land.

Voorbeeld: alleen Frankrijk vasteland

  • Frankrijk: aangevinkt, bedrag 65.
  • Corsica: aangevinkt, bedrag leeg; het erft de 65 €.
  • Guadeloupe, Martinique, Frans-Guyana, Réunion, Mayotte: uitgevinkt.
  • Globale drempel: uitgeschakeld.

Tabblad Vervoerders

Drie modi: alle vervoerders, weergave alleen voor aangevinkte vervoerders, of verbergen voor aangevinkte vervoerders. Regels worden opgeslagen op de id_reference van de vervoerder: PrestaShop maakt bij elke wijziging een nieuwe vervoerder aan, maar de referentie blijft gelijk.

De instelling Vóór de keuze van een vervoerder bepaalt of de balk in catalogus en winkelwagen verschijnt zolang er nog geen vervoerder is gekozen.

Tabblad Berichten

Vijf berichten zijn per actieve taal aan te passen:

  • Lege winkelwagen
  • Winkelwagen bezig
  • Drempel bereikt
  • Productpagina: dit product levert gratis verzending op
  • Productpagina: resterend bedrag na toevoegen

Twee tokens zijn beschikbaar: {amount} voor het ontbrekende bedrag en {threshold} voor de drempel. Ze worden vervangen door het bedrag in de valuta van de bezoeker, vetgedrukt. Voorbeeld voor het Nederlands: Nog {amount} tot gratis verzending! De tekst wordt letterlijk getoond: ingevoerde HTML wordt niet uitgevoerd. Een leeg veld behoudt de meegeleverde tekst, die voor het Nederlands in het Engels is. Vul de vijf berichten daarom in voor uw Nederlandse taal.

Tabblad Weergave

  • Kleuren: achtergrond, balk, tekst en succesbericht, met een kleurkiezer en een gesynchroniseerd hexadecimaal veld.
  • Pictogram: vrachtwagen, pakket, cadeau of geen. De pictogrammen zijn SVG, en een vinkje vervangt het pictogram zodra de drempel is bereikt.
  • Animatie: bewegende strepen tijdens de voortgang, automatisch uit voor bezoekers die in hun systeem minder beweging hebben ingesteld.
  • Sluitbare banner: voegt een sluitknop toe aan de banner bovenaan. Eenmaal gesloten blijft hij verborgen tot de browser wordt gesloten. De andere posities worden niet beïnvloed.

Een live voorbeeld toont de banner, de productpagina en de bereikte drempel en wordt bij elke wijziging bijgewerkt, nog vóór het opslaan.

Realtime updates

Elke positie plaatst een container, ook als de balk niets te tonen heeft. Na een gebeurtenis rond winkelwagen, adres, afrekenstap, combinatie of hoeveelheid haalt één verzoek de balk op voor alle posities van de pagina, en elke container wordt ter plaatse gevuld of geleegd. Een balk die bij het laden verborgen is, kan zo zonder herladen verschijnen, en omgekeerd.

Het script luistert naar de PrestaShop-gebeurtenissen updateCart, updatedCart, updatedAddressForm, changedCheckoutStep, updateDeliveryForm en updatedProduct. Een update vanuit uw eigen code start u zo:

document.dispatchEvent(new Event('dffreeshipbar:refresh'));

Multistore

De drempels hebben een id_shop: elke winkel heeft eigen regels. Kies bovenaan de backoffice de winkelcontext voordat u de configuratie opent.

Update vanaf een eerdere versie

Het vervangen van de ZIP voert de migratiescripts automatisch uit. Uw drempels blijven behouden. Nieuwe opties starten uitgeschakeld in een bestaande winkel: productpagina, verbergen bij lege winkelwagen, sluitbare banner en groepsbeperking. Kleuren van eerdere versies worden genormaliseerd naar #rrggbb, en de Smarty- en opcache-caches worden geleegd.

Probleemoplossing

De balk verschijnt nergens

  1. Meldt de overzichtsbalk dat geen enkel gebied een drempel heeft?
  2. Zijn de module en de gewenste posities ingeschakeld?
  3. Staat de adresvereiste op Always terwijl u zonder adres test?
  4. Zijn er klantgroepen aangevinkt waar uw testaccount niet bij hoort?
  5. Staat de optie voor een lege winkelwagen aan terwijl de winkelwagen leeg is?

De balk verschijnt waar hij niet hoort

Controleer of het vakje van het gebied echt is uitgevinkt, en niet alleen het bedrag is leeggemaakt.

Niets in de zijwinkelwagen van Creative Elements

  • De Winkelwagen-widget moet de skin Sidebar gebruiken.
  • De optie voor de zijwinkelwagen van Creative Elements moet zijn ingeschakeld.
  • Leeg na een update vanaf 2.1.0 of ouder de cache onder Geavanceerde instellingen → Prestaties.

Het bedrag komt niet overeen met het afrekenen

  • De btw-instelling moet overeenkomen met de basis van uw vervoerdersschijven.
  • Een tegoedbon kan de winkelwagen weer onder de drempel brengen.
  • De module leest uw schijven niet: neem elke schijfwijziging over in de module.

De balk wordt na toevoegen niet bijgewerkt

De update steunt op de JavaScript-gebeurtenissen van PrestaShop. Als een winkelwagenmodule van derden die niet uitzendt, start dan dffreeshipbar:refresh vanuit de code ervan. Controleer ook de console: een eerdere JavaScript-fout verhindert dat de luisteraar wordt geïnstalleerd.

De-installatie

De-installatie verwijdert beide drempeltabellen en alle configuratiesleutels met het voorvoegsel DFFREESHIPBAR_, berichten inbegrepen. Exporteer beide tabellen als u opnieuw wilt installeren.

Korte FAQ

  • Leest de module PS_SHIPPING_FREE_PRICE? Nooit.
  • Leest de module mijn vervoerdersschijven? Nee, drempels worden handmatig ingevoerd. Automatische synchronisatie is mogelijk als maatwerk.
  • Mijn gratis verzending hangt ook af van het gewicht. Wordt dat ondersteund? Nee, de module meet alleen een bedrag.
  • Kan ik vet of een link in een bericht zetten? Nee, de tekst wordt beveiligd. De bedragen van de tokens worden automatisch vet gezet.
  • Komt een gesloten banner terug? Bij de volgende keer dat de browser wordt geopend.

Ondersteuning en updates

De module omvat 12 maanden updates en ondersteuning. Ondersteuning per e-mail in het Frans of Engels, antwoord binnen 24 werkuren. Neem contact op met DataFirefly-ondersteuning en vermeld de versies van PrestaShop, PHP en de module, het gebruikte thema, en het betrokken gebied en de vervoerder.

Was deze pagina nuttig?

Loopt u nog vast? Neem contact op met support