Outlet-module voor Magento 2 - automatisering van uitverkoop
Kowal Outlet Products is een module voor Magento 2 die het beheer van outletproducten, uitverkoopproducten en restpartijen automatiseert. De oplossing helpt de catalogus overzichtelijk te houden, producten aan de categorie OUTLET toe te wijzen, ze met een speciaal attribuut te markeren en ze uit de outlet te verwijderen wanneer ze niet langer als uitverkoopaanbod zichtbaar mogen zijn.
De module is ontwikkeld voor winkels waarin outletproducten dynamisch veranderen: een deel bestaat uit afzonderlijke eenvoudige producten, een deel uit varianten van configureerbare producten en een deel vereist ondersteuning voor meerdere winkels, meerdere websites en verschillende prijsconfiguraties.
Belangrijkste zakelijke waarde
In standaard Magento vereist outletbeheer vaak dat meerdere elementen tegelijk handmatig worden gecontroleerd: categorieën, productstatus, speciale prijs, voorraadniveaus, configureerbare varianten en cache. Bij een grotere catalogus ontstaat gemakkelijk een situatie waarin een product nog steeds in OUTLET staat ondanks dat het is uitverkocht, de parent van een configureerbaar product in de categorie blijft zonder actieve varianten, of de speciale prijs wordt hersteld op een manier die niet overeenkomt met de winkelconfiguratie.
Kowal Outlet Products brengt structuur in dit proces. De beheerder kan een lijst met SKU's aan de outlet toevoegen, waarna de module zorgt voor toewijzing aan de juiste categorieën, het instellen van het OUTLET-attribuut, de afhandeling van configurable parents en het later automatisch loskoppelen van producten na afloop van de verkoop.
Belangrijkste functies
- bulkimport van producten naar OUTLET op basis van een SKU-lijst,
- toewijzing van producten aan één of meerdere outletcategorieën,
- ondersteuning voor eenvoudige producten en varianten van configureerbare producten,
- automatische markering van producten met het attribuut
sale, - toewijzing van configurable parents aan OUTLET wanneer hun varianten outletproducten zijn,
- automatisch loskoppelen van producten uit de OUTLET-categorie na uitverkoop of uitschakeling van de outletstatus,
- loskoppelen van de configurable parent wanneer geen enkele variant nog een OUTLET-product is,
- periodieke controle van producten via cron,
- handmatige start van de herberekening vanuit de Magento-console,
- verversen van indexen en cache van producten en categorieën,
- ondersteuning voor stock en backorders na afloop van de uitverkoop,
- back-up en herstel van speciale prijzen,
- ondersteuning voor multistore-configuratie en website scope voor prijzen,
- OUTLET-markeringen bij variant-swatches op de productpagina.
Hoe het OUTLET-proces werkt
De beheerder selecteert de outletcategorieën in de moduleconfiguratie. Vervolgens kan hij in het beheerpaneel een SKU-lijst plakken en producten aan de uitverkoop toevoegen. De module wijst de producten toe aan de OUTLET-categorie en stelt het attribuut sale in.
Voor configureerbare producten werkt de module op twee niveaus. Als een variant een outletproduct is, kan de configurable parent ook aan de OUTLET-categorie worden toegevoegd, zodat de klant het product in de listing ziet. Wanneer de variant is uitverkocht of niet langer de OUTLET-status heeft, controleert de module of de parent nog actieve outletvarianten heeft. Zo niet, dan wordt de parent losgekoppeld van OUTLET.
De cron van de module controleert regelmatig de productstatus. Wanneer een product niet langer verkoopbaar is, verwijdert de module het uit de outletcategorieën, wijzigt de outletstatus en ververst de gegevens in indexen en cache. Daardoor blijft de listing van de OUTLET-categorie actueel zonder handmatig werk van de beheerder.
Ondersteuning voor speciale prijzen
De module kan speciale prijzen beschermen tegen verlies tijdens de OUTLET-cyclus. Wanneer een product aan de outlet wordt toegevoegd, wordt de actuele speciale prijs naar technische attributen gekopieerd. Na afloop van de outlet kan de prijs worden hersteld of gewist, afhankelijk van de configuratie.
De back-up omvat:
special_price,special_from_date,special_to_date.
De module respecteert de prijs-scope van Magento. Als prijzen globaal zijn, werkt de module op globaal niveau. Als prijzen per website zijn ingesteld, slaat de module waarden op en herstelt deze volgens de standaard store views van de websites. Er worden geen valutaconversies uitgevoerd, omdat Magento prijzen opslaat als basiswaarden voor de betreffende scope en winkelvaluta's worden omgerekend door de Magento-mechanismen.
Multistore en meerdere valuta's
Kowal Outlet Products kan werken in Magento-installaties met meerdere store views en websites. Tijdens de import kan de beheerder aangeven aan welke websites het product moet worden toegewezen. De moduleconfiguratie is beschikbaar op default-, website- en store-niveau, zodat de werking kan worden afgestemd op de winkelstructuur.
Voor speciale prijzen vermenigvuldigt of converteert de module geen waarden tussen valuta's. De bedragen die in Magento zijn opgeslagen voor de juiste prijs-scope blijven behouden. Dit helpt fouten door handmatige koersomrekening te voorkomen en laat de verantwoordelijkheid voor valutapresentatie over aan de standaard Magento-mechanismen.
Voorbeeld van gebruik
Een winkel verkoopt kleding en heeft een categorie OUTLET waarin de laatste stuks van producten uit vorige collecties worden getoond. De beheerder ontvangt een lijst met SKU's van varianten die in de uitverkoop moeten komen, bijvoorbeeld:
TSHIRT-BLACK-MTSHIRT-BLACK-LJACKET-NAVY-XLSHOES-WHITE-42Na het plakken van de lijst in het importpaneel doet de module het volgende:
- stelt de producten in als OUTLET,
- wijst ze toe aan de categorie
OUTLET, - wijst de parents van configureerbare producten toe als hun varianten outletproducten zijn,
- slaat een kopie van de actuele speciale prijzen op,
- werkt optioneel de stockinstellingen bij,
- ververst indexen en cache.
De klant ziet de producten in de OUTLET-categorie en de markeringen bij de varianten. Wanneer het laatste stuk van een variant wordt verkocht, detecteert de cron van de module dat het product niet langer salable is, verwijdert het uit OUTLET en ververst de listing. Als dit de laatste outletvariant van het betreffende configureerbare product was, wordt ook de parent uit de OUTLET-categorie verwijderd.
Voor wie is deze module bedoeld
De module is bedoeld voor Magento 2-winkels die:
- een vaste OUTLET- of SALE-sectie hebben,
- vaak met restpartijen werken,
- configureerbare producten hebben met varianten met verschillende uitverkoopstatussen,
- handmatig werk bij het bijwerken van categorieën willen beperken,
- controle nodig hebben over speciale prijzen in een multistore-omgeving,
- verouderde producten in categorielistings willen voorkomen.
Technische onderdelen
- Naam van het Composer-pakket:
kowal/module-outletproducts - Naam van de Magento-module:
Kowal_OutletProducts - CLI-commando:
bin/magento kowal_outletproducts:generate - Configuratiepaneel:
Stores > Configuration > kowal > OUTLET Products - Importpaneel:
kowal > Upload Outlet Products - Belangrijkste productattributen:
sale,special_price_copy,special_from_date_copy,special_to_date_copy,special_price_copy_active
Resultaat van de implementatie
Na implementatie van de module krijgt de winkel een consistent proces voor outletbeheer: producten komen in de juiste categorieën terecht, varianten en parents worden logisch beheerd, speciale prijzen worden beschermd en catalogusgegevens worden na wijzigingen ververst. Daardoor kunnen beheerders zich richten op het selecteren van producten voor de uitverkoop, in plaats van op het handmatig opschonen van categorieën en cache.
Installatie en configuratie van de module Kowal Outlet Products
Basisinformatie
- Composer-pakket:
kowal/module-outletproducts - Magento-module:
Kowal_OutletProducts - Vereist applicatietype: Magento 2
- Pakketafhankelijkheid:
kowal/base - CLI-commando van de module:
bin/magento kowal_outletproducts:generate
Installatie via Composer
Voeg de modulerepository toe:
composer config repositories.module.outlet.products vcs https://github.com/kowalco/magento-2-outlet-productsAls de repository privé is, configureer dan een toegangstoken:
composer config --auth github-oauth.github.com Installeer de module:
composer require kowal/module-outletproductsSchakel de module in:
php bin/magento module:enable Kowal_OutletProductsVoer de database-update uit:
php bin/magento setup:upgradeStart in een productieomgeving de DI-compilatie en de deploy van statische assets volgens het implementatieproces van de winkel:
php bin/magento setup:di:compilephp bin/magento setup:static-content:deployMaak de cache leeg:
php bin/magento cache:flushEen bestaande installatie bijwerken
Voer na het bijwerken van de module het volgende uit:
composer update kowal/module-outletproductsphp bin/magento setup:upgradephp bin/magento cache:flushAls de winkel in production mode draait, voer dan ook de standaard implementatiestappen uit:
php bin/magento setup:di:compilephp bin/magento setup:static-content:deploysetup:upgrade is vereist, omdat de module productattributen toevoegt en bijwerkt die worden gebruikt voor de afhandeling van OUTLET en kopieën van speciale prijzen.
Productattributen
De module voegt de volgende attributen toe of gebruikt ze:
| Attribuut | Betekenis |
|---|---|
sale | Markeert het product als OUTLET. |
special_price_copy | Kopie van de waarde special_price voordat het product naar OUTLET gaat. |
special_from_date_copy | Kopie van de datum special_from_date. |
special_to_date_copy | Kopie van de datum special_to_date. |
special_price_copy_active | Marker die aangeeft dat de kopie van de speciale prijs is gemaakt. |
Configuratie in het beheerpaneel
Ga naar:
Stores > Configuration > kowal > OUTLET ProductsBeschikbare opties:
| Optie | Beschrijving |
|---|---|
Włącz moduł Outlet | Schakelt de werking van de module in of uit. |
Usuń ceny specjalne dla produktów po wyprzedaży | Bepaalt of de speciale prijs na afloop van OUTLET moet worden gewist. Als de optie is uitgeschakeld, herstelt de module de prijs uit de kopie. |
Kategorie outletowe | Lijst met categorieën waaraan OUTLET-producten worden toegewezen en waaruit ze later automatisch worden verwijderd. |
Wyłącz zarządzanie stanem magazynowym po wyprzedaży | Maakt het mogelijk om manage_stock uit te schakelen na afloop van de uitverkoop. |
Włącz backorder po zakończeniu wyprzedaży outletowej | Maakt het mogelijk om backorder in te schakelen en het product als beschikbaar te markeren na afloop van de outletverkoop. |
De configuratie is beschikbaar op default-, website- en store-niveau. De OUTLET-categorieën die door cron worden gebruikt, worden uit de standaardconfiguratie opgehaald.
Configuratie van OUTLET-categorieën
- Maak in Magento een categorie of categorieën aan die bestemd zijn voor de outlet.
- Zorg ervoor dat de categorieën actief zijn en zichtbaar zijn in het menu of de listing als ze voor klanten beschikbaar moeten zijn.
- Selecteer in de moduleconfiguratie alle outletcategorieën in het veld
Kategorie outletowe. - Sla de configuratie op.
- Maak de Magento-cache leeg.
php bin/magento cache:flushProducten importeren naar OUTLET
Ga naar het paneel:
kowal > Upload Outlet ProductsIn het formulier:
- Plak de SKU-lijst, één SKU per regel.
- Selecteer de OUTLET-categorieën.
- Selecteer optioneel de websites waaraan het product moet worden toegewezen.
- Kies of de module voorraadbeheer voor de geïmporteerde producten moet inschakelen.
- Klik op
Importuj.
Voorbeeld van een SKU-lijst:
TSHIRT-BLACK-MTSHIRT-BLACK-LJACKET-NAVY-XLSHOES-WHITE-42Tijdens de import doet de module het volgende:
- wijst producten toe aan de OUTLET-categorie,
- stelt het attribuut
salein, - werkt configurable parents bij,
- maakt een kopie van de speciale prijs en promotiedatums,
- werkt de stock bij volgens de geselecteerde optie,
- ververst indexen en cache van producten en categorieën.
Ondersteuning voor configureerbare producten
Als het geïmporteerde product een variant van een configureerbaar product is, zoekt de module de parent op en wijst deze toe aan de OUTLET-categorie. Daardoor verschijnt het configureerbare product in de categorielisting en kan de klant de outletvariant kiezen.
Tijdens de periodieke herberekening controleert de module of de parent nog actieve OUTLET-varianten heeft. Zo niet, dan wordt de parent losgekoppeld van de OUTLET-categorie.
Ondersteuning voor speciale prijzen
Bij import naar OUTLET slaat de module een kopie op van:
special_price,special_from_date,special_to_date.
De kopie wordt opgeslagen volgens de scope van het attribuut voor de speciale prijs in Magento:
- voor globale prijzen: op globaal niveau,
- voor prijzen per website: op het niveau van de standaard store view van elke website,
- voor prijzen per store: op store view-niveau.
De module rekent geen valuta om. Magento slaat prijzen op als basiswaarden voor de juiste scope en de valutapresentatie op de frontend blijft de verantwoordelijkheid van de standaard Magento-mechanismen.
Het gedrag na afloop van OUTLET hangt af van de optie Usuń ceny specjalne dla produktów po wyprzedaży:
Tak: de module wist de speciale prijs en verwijdert de technische kopie,Nie: de module herstelt de speciale prijs en datums uit de kopie en verwijdert vervolgens de technische kopie.
Cron
De module heeft een cron-taak:
kowal_outletproducts_outletDe taak start de OUTLET-helper en controleert periodiek de outletproducten. Cron verwijdert producten uit de OUTLET-categorieën wanneer ze daar niet langer zichtbaar mogen zijn en ververst indexen en cache.
Controleer na de installatie of Magento cron correct werkt:
php bin/magento cron:runIn een productieomgeving moet cron worden gestart vanuit de systeemcrontab van de Magento-applicatiegebruiker.
Herberekening handmatig starten
De herberekening kan handmatig via CLI worden gestart:
php bin/magento kowal_outletproducts:generateHet commando voert hetzelfde proces uit dat door cron wordt gestart.
Indexen en cache
Na wijzigingen ververst de module de belangrijkste product- en catalogusindexen:
catalog_product_price,catalog_product_category,catalogsearch_fulltext,inventory,cataloginventory_stock.
De module leegt ook de cache van tags van producten en OUTLET-categorieën, zodat de categorielisting na een statuswijziging of het loskoppelen van een product zou moeten worden bijgewerkt.
Indien nodig kan een volledige herindexering worden afgedwongen:
php bin/magento indexer:reindexphp bin/magento cache:flushTest na implementatie
Aanbevolen functionele test:
- Selecteer een eenvoudig product met voorraad.
- Stel een speciale prijs en promotiedatums in.
- Voeg het product via het importpaneel toe aan OUTLET.
- Controleer of het product in de OUTLET-categorie is verschenen.
- Controleer of het attribuut
salede waardeTakheeft. - Controleer bij een configureerbaar product of de parent in OUTLET is verschenen.
- Wijzig de productstatus zodat het product niet verkoopbaar is.
- Start cron of het CLI-commando.
- Controleer of het product uit de OUTLET-categorie is verwijderd.
- Controleer of de speciale prijs is hersteld of verwijderd volgens de configuratie.
Veelvoorkomende problemen
Het product is nog steeds zichtbaar in OUTLET
Controleer:
- of Magento cron werkt,
- of het product nog steeds
sale = 1heeft, - of het product is toegewezen aan een van de categorieën die als OUTLET zijn geconfigureerd,
- of indexen en cache zijn ververst.
Hulpcommando's:
php bin/magento cron:runphp bin/magento indexer:reindexphp bin/magento cache:flushDe configurable parent staat nog steeds in OUTLET
Controleer of een van de productvarianten nog steeds sale = 1 heeft. De parent blijft in OUTLET zolang deze een actieve outletvariant heeft.
De speciale prijs is niet hersteld
Controleer:
- of het product eerder aan OUTLET is toegevoegd na installatie van de kopie-attributen,
- of het attribuut
special_price_copy_activewas ingesteld, - of de configuratie
Usuń ceny specjalne dla produktów po wyprzedażyis ingesteld opNie, - welke prijs-scope in Magento is ingesteld.
Prijzen verschillen tussen store views
Controleer de configuratie van de prijs-scope in Magento. De module rekent geen valuta om en synchroniseert geen prijzen tussen store views. De module herstelt waarden die voor de juiste prijs-scope zijn opgeslagen.
De-installatie
Als de module moet worden uitgeschakeld:
php bin/magento module:disable Kowal_OutletProductsphp bin/magento setup:upgradephp bin/magento cache:flushHet Composer-pakket verwijderen:
composer remove kowal/module-outletproductsphp bin/magento setup:upgradephp bin/magento cache:flushVoordat de module wordt verwijderd, wordt aanbevolen te controleren of producten niet handmatig moeten worden opgeschoond door het attribuut sale te wissen of ze los te koppelen van de OUTLET-categorie.













