Product Label

v1.2.0 Updated 18 aug. 2026

Product Label

Module de labels et badges produit pour Magento 2 et MageOS. Affiche des pastilles, rubans et etiquettes par-dessus les images produit, avec des formes SVG…
Hyvä Compatibel Magento 2.4.4 Magento 2.4.5 Magento 2.4.6 Magento 2.4.7 Mage-OS 2.0 Mage-OS 2.1
€ 79,00
Probeer de live demo
  • Updates and support included for 12 months
  • License key delivered immediately by email
  • 30-day money-back guarantee
  • Full documentation included
  • Compatible with Hyvä themes
  • Composer-ready installation

Productlabels

Kortingsbadges, nieuw-labels en waarschuwingen bij lage voorraad zijn de goedkoopste conversiehefbomen in een catalogus, en tegelijk degene die het vaakst met een script van derden worden aangebouwd dat de pagina vertraagt. Deze module zet ze terug waar ze horen: gerenderd door Magento zelf, over de productafbeelding, op elke plaats waar een product verschijnt.

Er wordt niets in de browser getekend. Labels worden berekend op een eigen index en in de HTML geschreven: ze overleven de Full Page Cache, veroorzaken geen layout shift en blijven zichtbaar voor zoekmachines. Een categoriepagina draagt haar labels voor één extra databasequery, ongeacht het aantal producten erop.

Voor wie

  • Verkopers met lopende acties die de korting al in het overzicht willen tonen, niet
  • alleen op de productpagina

  • B2B-catalogi waar staffelkortingen en voorraadniveaus de aankoop bepalen
  • Teams die op Core Web Vitals letten en weigeren nog een render-blokkerend script toe te
  • voegen

Belangrijkste voordelen

  • Veertien vormen, geen afbeeldingsbestanden — hoeklinten, banners, sterren,
  • zeshoeken, prijskaartjes en meer, allemaal als vectorafbeelding gegenereerd. Scherp op elk scherm, herkleurbaar vanuit de back-office, en geen enkele extra HTTP-aanvraag.

  • Kleuren gekozen, niet gecodeerd — achtergrond-, tekst- en accentkleur komen uit de
  • ingebouwde Magento colour picker. De tekstkleur wordt afgeleid uit de luminantie van de achtergrond volgens de WCAG-formule, zodat een lichte badge nooit met onleesbare witte tekst live gaat.

  • Dynamische waarden die eerlijk blijven — toon het werkelijke kortingspercentage,
  • het bespaarde bedrag, de staffelprijs en de bijbehorende drempel, de resterende dagen van een actie, of elk productattribuut. Percentages worden standaard naar beneden afgerond: 30% beloven bij een korting van 29,6% is niet te verdedigen.

  • Targeting die u al kent — dezelfde voorwaardenbouwer als bij catalogusprijsregels,
  • aangevuld met kant-en-klare snelkoppelingen voor aanbieding, nieuw, niet op voorraad, laatste exemplaren en staffelkorting. Voorinstellingen vullen die bouwer in plaats van er een tweede, simpeler engine achter te verbergen.

  • Elke plaats, één instelling — categorieoverzichten, zoekresultaten, widgets,
  • gerelateerde en cross-sell blokken, de vergelijkingslijst, de verlanglijst, de winkelwagenpagina, de mini-winkelwagen en de productpagina. Eén keer instellen, en alleen aanpassen waar een plaats moet afwijken.

  • Vloeiend op elk scherm — de badgegrootte is relatief aan de productafbeelding en
  • niet aan het venster, zodat hetzelfde label net zo goed in verhouding staat in een mobiel raster van twee kolommen als op een productafbeelding over de volle breedte, zonder breekpunten om te onderhouden.

  • Cachebestendig van opzet — de weergave varieert per store view en klantgroep via
  • dezelfde context die Magento al in zijn cachesleutel opneemt, zodat een groepsgebonden label niet naar een andere bezoeker kan lekken. Een label opslaan maakt de betrokken pagina's ongeldig.

  • Toegankelijk en inclusief — bij elke badge staat een verborgen leesbare zin, zodat
  • "-30%" voluit wordt aangekondigd; posities gebruiken logische eigenschappen, zodat store views van rechts naar links zonder extra instellingen werken; en voorkeuren voor beperkte beweging worden gerespecteerd.

Compatibiliteit

  • Magento 2.4.x / gelijkwaardige Mage-OS 2.x en 3.x
  • PHP 8.1, 8.2, 8.3, 8.4, 8.5
  • Vereist wimakeit/module-core 3.0.9 of hoger
  • Werkt direct op Luma en Breeze; wimakeit/module-product-label-hyva voegt het anker
  • voor de Hyvä productgalerij en de Tailwind-bronnen toe

  • Multi Source Inventory is optioneel: de verkoopbare hoeveelheid gebruikt het wanneer
  • het geïnstalleerd is, en valt anders terug op de klassieke stock registry

  • Meegeleverde i18n: Engels, Frans, Nederlands

Installeer deze module via Composer. Zorg ervoor dat uw auth.json is geconfigureerd met uw Wimakeit-inloggegevens.

Terminal
$ composer require wimakeit/module-product-label:^1.2.0
$ bin/magento setup:upgrade
$ bin/magento setup:di:compile

Installation notes

The standard composer require + setup:upgrade + setup:di:compile flow applies. The points below cover what's specific to this module.

Required dependency

This module requires wimakeit/module-core 3.0.9 or later. Composer will pull it automatically from the Wimakeit registry as long as the registry is declared in your project's composer.json.

Multi Source Inventory is optional. When magento/module-inventory-sales-api is present, the salable quantity condition and the {{qty}} value account for reservations; without it they fall back to the legacy stock registry. Nothing needs to be configured either way.

First reindex

Labels only appear once the index has been built. After enabling the module, run:

bin/magento indexer:reindex wimakeit_product_label_rule

Two indexers share one index table, mirroring how Magento splits catalog price rules:

IndexerReacts to
wimakeit_product_label_rulea label being created, edited or deleted
wimakeit_product_label_productproduct, price, stock and category changes

Both are safe in Update by Schedule, which is the recommended mode on large catalogues.

ACL permissions

After installation, four ACL resources are registered under System → Permissions → User Roles:

ResourceDefault
Wimakeit_ProductLabel::label (view the label grid)granted to Administrator role only
Wimakeit_ProductLabel::label_save (create and edit labels)granted to Administrator role only
Wimakeit_ProductLabel::label_delete (delete labels)granted to Administrator role only
Wimakeit_ProductLabel::config (edit module configuration)granted to Administrator role only

The conditions builder is served by this module's own controller, so managing labels does not require catalog price rule permissions.

Configuration

The module ships with safe production defaults. Go to Stores → Configuration → WiMakeIT → Product Labels only if you want to change them.

General settings

SettingDefault
Enable Product LabelsYes
When several labels share a positionStacked side by side (alt: only the highest priority)
Enable Debug LoggingNo — leave off in production

Display

SettingDefault
Show labels onall contexts (listing, search, product page, gallery, related, cart, mini-cart, wishlist, comparison, widgets)
Maximum labels per position2
Write label colours as inline stylesNo — colours are emitted once per page in a single nonce-carrying <style> block, which is smaller and survives an enforced style-src policy

Dynamic values

SettingDefault
Discount percentage roundingRound down — a badge promising 30% on a 29.6% discount is not defensible
Discount percentage decimals0

Indexing

SettingDefault
Reindex on save up to this many products20000 — above this, saving a label marks the index invalid instead of rebuilding synchronously, so the admin save never hangs
Refresh date-driven labels by cronYes

Performance

SettingDefault
Preload labels for up to this many products per page500
Cache rendered label markupNo — the Full Page Cache already covers this; enable only on very large catalogues that make heavy use of product attributes in label text
Rendered markup cache lifetime (seconds)86400

Accessibility

SettingDefault
Announce labels to screen readersYes

Cron jobs (registered automatically)

JobSchedule
wimakeit_product_label_refresh_dated5

This job re-indexes products whose special price or new-product date window opened or closed, and cleans the page cache for those products. It runs hourly rather than daily so store views in different timezones each get their date boundary handled on the hour it actually occurs for them. This mirrors what Magento itself does for catalog price rules.

Hyvä storefronts

Labels already render on Hyvä without any extra module: the listing, search, widgets, related blocks, comparison, wishlist and the cart page all go through the standard Magento image block.

Install wimakeit/module-product-label-hyva to add the two surfaces Hyvä builds differently — the product page gallery and the Alpine mini-cart drawer — and to expose the wm-* classes to your theme's Tailwind build:

composer require wimakeit/module-product-label-hyva
bin/magento module:enable Wimakeit_ProductLabelHyva
bin/magento setup:upgrade
bin/magento hyva:config:generate
cd app/design/frontend/<Vendor>/<theme>/web/tailwind && npm run build

Command line

bin/magento wimakeit:product-label:reindex                    # rebuild everything
bin/magento wimakeit:product-label:reindex --label=on_sale    # one label, by code or id
bin/magento wimakeit:product-label:reindex --product=42,43    # specific products
bin/magento wimakeit:product-label:list                       # labels and their match counts

wimakeit:product-label:list shows how many products each label currently matches, which is the fastest way to confirm a conditions tree does what was intended without opening the storefront.

Cache types

The module registers a Product Labels cache type, holding the label definitions per store view. It is invalidated automatically whenever a label is saved or deleted.

Versie
v1.2.0
Ondersteuning
12 maanden
Last updated
18 aug. 2026
Magento
Magento 2.4.4 Magento 2.4.5 Magento 2.4.6 Magento 2.4.7 Mage-OS 2.0 Mage-OS 2.1
PHP
PHP 8.1 PHP 8.2 PHP 8.3
Hyvä
Compatibel
Pakket
wimakeit/module-product-label

Compatibility checker

Pick your stack to see if this module fits.

Changelog

Categories: Security, Feature, Fix, Perf, Admin, Deps.

[1.2.0] - 2026-08-18

Feature

  • Cibler des produits par référence. Une condition SKU s'ajoute aux règles, avec le sélecteur de produits de Magento : recherche, tri, cases à cocher. Plusieurs références se choisissent d'un coup.
  • Aperçu en direct. Le pavé Apparence affiche une carte produit d'exemple qui se met à jour à chaque réglage — forme, position, taille, couleurs — et reste visible pendant qu'on fait défiler.
  • Cinq étiquettes d'exemple livrées prêtes à l'emploi, désactivées, pour partir d'une base plutôt que d'une page blanche.

Admin

  • Rotation, opacité, arrondi et décalages se choisissent dans des listes plutôt que se saisir au clavier.
  • Les étiquettes ne collent plus au bord de l'image, sauf les rubans de coin pour lesquels c'est voulu.

Fix

  • L'écran d'édition d'une étiquette pouvait ne plus s'ouvrir du tout sur Magento 2.4.9 / Mage-OS 3.1.0.
  • Une étiquette posée sur une vignette de listing pouvait faire disparaître la photo du produit.
  • Les tailles xs à xl ne se distinguaient presque pas sur les formes pilule et texte seul.
  • Les listes Vues de magasin et Groupes de clients n'affichaient aucune option.

[1.1.0] - 2026-08-17

Fix

  • Les tables de l'extension n'étaient pas créées à l'installation, rendant l'écran des étiquettes inutilisable.

[1.0.0] - 2026-08-17

Feature

  • Product labels and badges rendered over product images across every surface: category listings, search, widgets, related and cross-sell blocks, comparison, wishlist, cart, mini-cart and the product page.
  • Fourteen parametric vector shapes — corner ribbons, banners, starbursts, hexagons, price tags, bookmarks and more — recoloured from the back-office with no image files and no extra HTTP request.
  • Dynamic values in label text: discount percentage and amount, prices, tier price and its quantity threshold, salable quantity, days left on a promotion, and any product attribute. Percentages round down by default so a badge never over-promises.
  • Targeting through the native Magento condition builder, extended with shortcuts for on sale, new, out of stock, low stock, tier price and final price, plus six presets that fill the builder rather than hiding a second engine behind it.
  • Per-context overrides, so a label can be smaller in the mini-cart or hidden in the cart without duplicating its configuration.

Perf

  • Server-side rendering with a dedicated product-to-label index: no JavaScript, no layout shift, and labels remain visible to search engines.
  • A category page resolves the labels for all its products in a single database query, whatever the number of products displayed.
  • Rendering varies by store view and customer group through the context Magento already uses for its page cache key, so group-specific labels cannot leak between visitors.

Admin

  • Label grid with live badge previews and the number of products each label currently matches, plus duplicate, mass enable, disable and delete.
  • Live preview in the edit form driven by the same renderer as the storefront, so what is approved is exactly what ships.
  • Colours chosen from the native Magento colour picker, with the text colour derived automatically from the background luminance for readable contrast.
  • wimakeit:product-label:reindex and wimakeit:product-label:list command line tools, and an admin REST API for cross-environment provisioning.

Security

  • No free-form CSS anywhere: colours and dimensions pass through a closed, validated set of CSS custom properties, emitted in a single nonce-carrying style block that survives an enforced Content-Security-Policy.
  • Label text is escaped segment by segment, so neither a merchant-entered string nor a resolved product value can inject markup.

Een bug gevonden? Laat het ons weten.

Een kort formulier opent in een nieuw tabblad — de modulenaam en uw taal zijn al ingevuld. Beschrijf wat u probeerde, wat misging, en wij komen binnen één werkdag bij u terug.

Een bug melden voor Product Label
Module SKU: wimakeit-module-product-label · Taal: nl_NL

Hulp nodig?

Ons team helpt u graag met de integratie.

Neem contact op
Planifier un appel