Productposities: volledige gids
De module voor productposities installeren, configureren en gebruiken: drag en drop, automatisch sorteren op meerdere criteria, vastpinnen van posities en bescherming tegen ERP-imports voor PrestaShop 8 en 9.
Overzicht
De module Productposities biedt een moderne drag-and-drop-interface om producten in uw PrestaShop-categorieën te herschikken, aangevuld met krachtige tools voor automatisch sorteren en een pinsysteem dat de gekozen posities beschermt tegen geautomatiseerde wijzigingen (ERP-imports, CSV, externe scripts).
De module is compatibel met PrestaShop 8 en 9, in single-shop en multistore, en volledig meertalig (FR, EN, ES, DE, IT). Ze schrijft rechtstreeks in de standaardkolom position van PrestaShop: de volgorde uit de back-office verschijnt identiek in de front-office, zonder extra configuratie of thema-integratie.
Compatibiliteit en vereisten
- PrestaShop 8.0 tot 9.x: één pakket dekt beide takken, zonder bijzondere configuratie.
- PHP 8.0 tot 8.4.
- Single-shop en multistore.
- Geen Composer-afhankelijkheid, geen externe dienst, geen extern JavaScript: jQuery en jQuery UI worden native door PrestaShop geleverd.
- PrestaShop 1.7 wordt niet ondersteund: de admin-API en het hooksysteem verschillen te veel om betrouwbaar gedrag te garanderen.
De compatibiliteit met PrestaShop 9 is beschikbaar vanaf versie 1.2.0 van de module. Migreert u een PrestaShop 8-winkel naar PrestaShop 9, installeer dan de laatste moduleversie vóór of na de upgrade: uw posities en pins blijven behouden, want de pintabel wordt door de update niet gewijzigd.
Installatie
- Open in de back-office Modules > Modulebeheer.
- Klik op Een module installeren en sleep het ZIP-archief erin.
- Na de installatie verschijnt de ingang Catalogus > Productposities in het menu.
Bij de installatie maakt de module een aparte tabel voor het pinsysteem aan en registreert ze de hooks die nodig zijn om vergrendelde posities automatisch te herstellen.
Om de module bij te werken uploadt u gewoon het nieuwe archief over het oude: de migratiescripts draaien automatisch, uw pins en posities blijven bewaard.
Interface
Het beheerscherm bestaat uit drie hoofdzones:
- Categorieboom links: volledige navigatie door de hiërarchie, directe zoekfunctie, productteller en pinteller per categorie.
- Werkbalk rechtsboven: zoeken binnen de huidige categorie, menu Vergrendeling (oranje) en menu Automatisch sorteren (paars).
- Productlijst in het midden: elk product heeft een sleepgreep, een positienummer dat bij een klik bewerkbaar wordt, en vier snelacties: vastpinnen, naar boven, naar beneden, fiche bewerken.
Met de winkel- en taalkiezers bovenaan het scherm wisselt u van context zonder de pagina te verlaten.
Producten handmatig herschikken
Slepen en neerzetten
Pak de greep links van een product en sleep het naar de gewenste plek. De posities worden automatisch opgeslagen zodra u loslaat.
Nummer rechtstreeks bewerken
Klik op het positienummer van een product om het met het toetsenbord te wijzigen. Bevestig met Enter; druk op Escape om te annuleren. De module verschuift de andere producten automatisch om de nieuwe positie in te passen.
Knoppen “Naar boven” en “Naar beneden”
Twee snelknoppen zetten een product met één klik op de eerste of laatste positie van de categorie.
Automatisch sorteren
Het menu Automatisch sorteren past een rangschikking toe op alle producten van de categorie volgens het gekozen criterium. De beschikbare criteria zijn:
- Op naam: A → Z of Z → A, op basis van de naam in de huidige taal.
- Op prijs: oplopend of aflopend.
- Op voorraad: hoge voorraad eerst of lage voorraad eerst, met alfabetische volgorde als scheidsrechter.
- Op verkopen (laatste 90 dagen): bestsellers of minst verkochte eerst, berekend op de geldige bestellingen van de huidige winkel.
- Nieuwste / oudste: volgens de toevoegdatum van het product.
- Referentie A → Z: alfabetisch sorteren op interne referentie.
- Huidige volgorde omkeren: draait de volledige lijst om.
- Willekeurig mengen: willekeurige volgorde bij elke uitvoering.
De optie Ook toepassen op subcategorieën zet de sortering in één handeling door naar alle onderliggende categorieën.
Vastgepinde producten behouden hun positie tijdens de sortering: alleen niet-vastgepinde producten worden herschikt (zie de volgende sectie).
Posities vastpinnen
Met vastpinnen legt u de positie van een product vast zodat ze niet verandert bij automatisch sorteren of door een externe wijziging (ERP-import, productupdate via de BO, script). Het is een optionele beschermlaag: zonder pins blijft de handmatige volgorde geldig zolang u geen automatische sortering start en geen extern systeem de posities aanraakt.
Een product individueel vastpinnen
Op elke productregel schakelt het pin-icoon de status vastgepind / niet vastgepind van het product in de huidige categorie om. Een vastgepind product krijgt een oranje rand en een klein pinbadge op zijn positienummer. De pinteller in de statusbalk en in de boom wordt automatisch bijgewerkt.
U kunt een vastgepind product altijd handmatig verplaatsen (drag en drop, rechtstreekse bewerking, snelknoppen): de vergrendelde positie volgt dan de beweging. Alleen automatisch sorteren en externe wijzigingen worden geblokkeerd.
De hele categorie vergrendelen
Het menu Vergrendeling > Hele categorie vergrendelen pint in één keer alle producten van de huidige categorie vast op hun huidige positie. Dit is de aanbevolen optie voor catalogi die door een ERP worden gevoed die de categorieën regelmatig hersynchroniseert: eenmaal vergrendeld kan geen enkele externe import de volgorde nog wijzigen.
Alles ontgrendelen
De optie Alles ontgrendelen verwijdert in één actie alle pins van de huidige categorie. De huidige posities blijven behouden; alleen de bescherming valt weg.
Vastgepinde posities herstellen
De optie Vastgepinde posities herstellen speelt het herstelalgoritme handmatig af op de huidige categorie. Nuttig na een grote import om visueel te controleren of alle vergrendelde posities weer op hun plek staan, al wordt de automatische herstelhook sowieso bij elke productupdate geactiveerd.
Praktijkscenario’s
De eerste N producten handmatig, de rest gesorteerd A → Z
Veelvoorkomend scenario: de eerste 5 of 10 producten van een categorie handmatig positioneren (blikvangers, bestsellers, nieuwigheden) en de rest alfabetisch sorteren.
- Selecteer de categorie in de boom.
- Zet uw N eerste producten in de gewenste volgorde (drag en drop of rechtstreekse bewerking).
- Klik op het pin-icoon van elk van die N producten.
- Open Automatisch sorteren > Op naam > A → Z.
De N vastgepinde producten blijven op hun posities; de andere producten worden alfabetisch gesorteerd vanaf positie N+1. Hetzelfde mechanisme werkt met alle sorteercriteria.
Een categorie beschermen tegen een ERP-import
Veelvoorkomend scenario: uw ERP of een extern script hersynchroniseert regelmatig de koppelingen product / categorie, waardoor de posities worden gereset.
- Zet de categorie in de gewenste volgorde.
- Open Vergrendeling > Hele categorie vergrendelen.
- Bevestig: alle producten worden vastgepind op hun huidige positie.
Vanaf dat moment activeert elke update van een vergrendeld product die via PrestaShop verloopt (productfiche in de back-office, webservice, native CSV-import, externe module die het object Product manipuleert) automatisch het herstel van de oorspronkelijke positie.
Een script dat rechtstreeks in de database schrijft, zonder via het object Product te gaan, activeert geen enkele PrestaShop-hook: het automatische herstel kan dan niet plaatsvinden. Start in dat geval Vergrendeling > Vastgepinde posities herstellen na de import, of roep dit herstel aan op het einde van uw synchronisatiescript.
Multistore
De module is volledig compatibel met de multistore-functie van PrestaShop. De winkelkiezer bovenaan de interface wisselt de context. Posities en pins zijn onafhankelijk per paar (categorie, winkel): een product vastpinnen in winkel A vergrendelt het niet in winkel B.
Meertaligheid
De back-office-interface is vertaald in het Frans, Engels, Spaans, Duits en Italiaans. De taalkiezer bovenaan het scherm wijzigt de taal van de boom en van de getoonde productnamen; de posities zijn gemeenschappelijk voor alle talen van een winkel (native PrestaShop-gedrag).
Prestaties
De module gebruikt geoptimaliseerde SQL-query’s met joins op de bestaande indexen (category_product, product_shop, stock_available). Het opslaan van posities wordt aan JavaScript-zijde gedebounced om opeenvolgende verzoeken bij snelle herschikkingen te vermijden. De pintabel heeft een samengestelde primaire sleutel en twee secundaire indexen voor zeer snel herstel, ook bij categorieën met honderden producten. Het herstel is bovendien beschermd tegen herintreding, wat elke lus bij massale updates voorkomt.
Verwijderen
Bij het verwijderen van de module worden de pintabel en de bijbehorende menu-ingang gewist. De posities in category_product blijven intact: uw huidige volgorde blijft behouden. Alleen de bescherming (vastpinnen en automatisch herstel) valt weg.
FAQ
Moet elk product worden vastgepind om de handmatige volgorde te bewaren?
Nee. De volgorde uit drag en drop of rechtstreekse bewerking wordt opgeslagen in de standaardkolom position van PrestaShop en blijft daar zolang geen automatische sortering of externe import ze wijzigt. Vastpinnen is een optionele beschermlaag, alleen nuttig als u handmatige posities en automatisch sorteren wilt combineren, of als uw ERP tijdens imports de koppelingen product / categorie aanraakt.
Wordt de volgorde uit de back-office wel in de front-office weerspiegeld?
Ja, zonder extra configuratie. De module schrijft in de native kolom category_product.position die PrestaShop al gebruikt om de productlijsten in de front te ordenen. Er is geen thema-integratie of extra hook nodig.
Mijn ERP hersynchroniseert de categorieën bij elke import: wat te doen?
Open het menu Vergrendeling > Hele categorie vergrendelen. Dat pint in één keer alle producten vast op hun huidige positie. De automatische herstelhook zet de posities daarna telkens terug wanneer de ERP een vergrendeld product via het object Product wijzigt. Schrijft uw ERP rechtstreeks in SQL, voeg dan een aanroep van Vastgepinde posities herstellen toe aan het einde van de import.
Kan een vastgepind product worden verplaatst?
Ja. Vastpinnen beschermt tegen automatische wijzigingen (autosortering, externe imports). Verplaatst u een vastgepind product handmatig (drag en drop, positiebewerking, knop naar boven of naar beneden), dan wordt de vergrendelde positie bijgewerkt om de beweging te volgen.
Werkt het automatisch sorteren met subcategorieën?
Ja. Vink de optie Ook toepassen op subcategorieën aan in het sorteermenu om het criterium in één handeling door te zetten naar alle subcategorieën van de huidige categorie.
Is de module compatibel met PrestaShop 9?
Ja, sinds versie 1.2.0. Hetzelfde pakket dekt PrestaShop 8.0 tot 9.x, in single-shop en multistore, zonder Composer-afhankelijkheid of extern JavaScript (jQuery en jQuery UI worden native door PrestaShop geleverd).
Vervangt de module het native positiescherm van de categorie?
Nee, ze komt erbovenop. Het native PrestaShop-scherm blijft beschikbaar; de module levert een modernere interface met vastpinnen en sorteren op meerdere criteria als extra.
De productlijst laadt niet, of de zoekfunctie gedraagt zich vreemd.
Leeg de PrestaShop-cache (Geavanceerde instellingen > Prestaties) en herlaad de pagina met een geforceerde browserverversing. De module voegt een versienummer toe aan haar CSS- en JS-bestanden, maar een browsercache of agressieve proxy kan na een update een oude kopie vasthouden.