Abweichende Artikeldaten Help

Abweichende Artikeldaten

Das Plugin Abweichende Artikeldaten (LeopardenBusinessCustomProducts) macht einzelne Artikel zu Kundenartikeln: Ein Artikel, der einem Kunden zugewiesen ist, ist ausschließlich für diesen Kunden sichtbar und kaufbar. Für alle anderen Kunden ist er gesperrt — auf der Artikeldetailseite, in Suche und Suchvorschlägen und im Warenkorb.

Der typische Anwendungsfall ist eine Maschine oder Anlage, die ein Kunde in einer individuellen Ausführung erhalten hat. Der allgemeine Katalogartikel bleibt für alle sichtbar; die kundenspezifische Variante sieht nur der Kunde, für den sie gebaut wurde. Damit dieser Kunde seine Artikel auch wiederfindet, liefert das Plugin eine Store-API-Route und ein CMS-Element, das die eigenen Artikel als Liste in einer Erlebniswelt ausgibt.

Die Sperre greift an jeder Stelle, an der ein Artikel in den Warenkorb gelangen kann — auch über die Store-API und über „Artikel per Artikelnummer hinzufügen". Sie ist damit keine reine Anzeigelogik, sondern eine echte Zugriffsregel.

Auf einen Blick

Bereich

Kurzbeschreibung

Datenmodell

Keine eigenen Tabellen — zwei Zusatzfelder am Artikel im Feldset business-custom-products

Zuweisung

Mehrfachauswahl customer_assignment (Kunde) plus Schalter is_custom_product (Ist Abweichender Artikel)

Sperre Detailseite

ProductSubscriber::onProductPageLoaded() wirft eine ProductNotFoundException → 404

Sperre Suche

In Suche und Suggest werden gesperrte Artikel auf active/available = false gesetzt

Sperre Warenkorb

Collector entfernt fremde Positionen mit einem ProductNotFoundError — für Storefront und Store-API

Varianten

Nicht zugängliche Varianten zählen nicht zum Child-Count: der Vaterartikel bleibt kaufbar

Store-API

POST /store-api/custom-products liefert die eigenen Artikel des angemeldeten Kunden

CMS-Element

custom-products — Liste der eigenen Artikel, im Storefront als sortierbare Tabelle

Administration

Eigener Reiter in der Kundendetailseite mit allen Artikeln dieses Kunden

Abhängigkeit

Setzt BusinessTransactions voraus — Basis für Twig-Element und Storefront-JS

Begriffe

Abweichender Artikel (Kundenartikel)

Ein Artikel, an dem das Zusatzfeld is_custom_product gesetzt ist. Erst dieser Schalter aktiviert die Zugriffsprüfung. Ohne ihn ist ein Artikel ein ganz normaler Katalogartikel, unabhängig davon, was in den übrigen Feldern steht.

Kundenzuweisung (customer_assignment)

Die Liste der Kunden, denen der Artikel gehört. Technisch eine Mehrfachauswahl von Kunden-IDs. Ist sie gefüllt, sieht den Artikel nur noch, wer darin steht.

ERP-Referenz (customer_assignment_api)

Begleitfeld, das die Warenwirtschaft mit der Kundennummer befüllt und das der CustomFieldEntityMatcher normalerweise in customer_assignment auflöst. Bleibt die Auflösung aus — etwa weil es den Kunden im Shop nicht gibt — gilt der Artikel trotzdem als zugewiesen. Details unter Backend.

Freier Kundenartikel

Ein Artikel mit is_custom_product, aber ganz ohne Zuweisung. Er ist für jeden angemeldeten Kunden zugänglich, für Gäste gesperrt.

Eigenes Produkt (direct_assignment)

Laufzeit-Kennzeichen an einem Artikel der Store-API-Antwort: true, wenn der Artikel dem anfragenden Kunden direkt gehört, false, wenn er über eine andere Zuweisung sichtbar ist.

Wo geht es weiter?

Last modified: 06 August 2026