Beschränkung der Kunden auf maximal (einige) Käufe für ein bestimmtes Produkt in Magento

8

Gibt es gute Module, die damit umgehen können? Oder wäre dies ein benutzerdefiniertes Ereignis / Beobachter, das geschrieben werden muss?

Hier ist ein Bild auf einer Nicht-Magento-Site, das genau zeigt, wonach ich suche.

Geben Sie hier die Bildbeschreibung ein

Magento 2.2.3 EE

Dies muss mit dem Magento Commerce B2B-Modul funktionieren. Jeder in einer Gruppe / Firma wäre also begrenzt. Wenn 4 Personen in der Gruppe wären, aber eine Person den Höchstbetrag gekauft hätte, könnten die anderen 3 keine kaufen. Dies macht die Logik immer komplexer und schwieriger.

Daten empfangen
quelle

Antworten:

2

Sie müssen Ihr benutzerdefiniertes Modul schreiben und dieses Ereignis verwenden ( sales_quote_item_qty_set_after ).

In diesem Fall müssen Sie - den aktuell angemeldeten Benutzer überprüfen und alle Artikel abrufen, die der Kunde im aktuellen Monat gekauft hat. - Überprüfen Sie die Menge Ihres Produkts, und wenn die Menge die maximale Menge überschreitet, müssen Sie die Erwartung werfen

throw new \Magento\Framework\Exception\CouldNotSaveException( __('The most you may purchase is %1.',$_qty));

Sie können dem Element auch eine Nachricht hinzufügen

$quoteItem->getQuote()->addErrorInfo(
        'stock',
        'cataloginventory',
        \Magento\CatalogInventory\Helper\Data::ERROR_QTY,
        __('Please correct the quantity for some products.')
        );

wo das $ quoteItem von diesem Code kommt

$quoteItem = $observer->getEvent()->getItem();

Ich hatte vorher eine ähnliche Logik und diese Arbeit für mich

WISAM HAKIM
quelle
Vielen Dank für die Antwort. Ich habe vergessen zu erwähnen, dass dies für das Magento Commerce B2B-Modul erforderlich ist. Jeder in einer Gruppe / Firma wäre also begrenzt. Wenn 4 Personen in der Gruppe wären, aber eine Person den Höchstbetrag gekauft hätte, könnten die anderen 3 keine kaufen. Dies macht die Logik immer komplexer und schwieriger.
Ergänzung
Ich glaube, dass Sie es in diesem Fall verwalten können, aber Sie müssen die Kundenfirma überprüfen, dann erhalten Sie alle Artikel Menge für alle 4 Personen (wie in Ihrem Beispiel)
WISAM HAKIM
Weitere Updates @WISAMHAKIM, ich bin sehr interessiert.
getData
Hallo @getData, hast du die Logik im zweiten Kommentar ausprobiert?
WISAM HAKIM
@WISAMHAKIM In welche Dateien sollte die obige Logik eingefügt werden?
getData