Restringindo os clientes ao máximo de (algum número) compras para um determinado produto no Magento


8

Existe algum bom módulo por aí que possa lidar com isso? Ou seria um evento / observador personalizado que precisa ser gravado?

Aqui está uma imagem em um site não magento que mostra especificamente o que estou procurando.

insira a descrição da imagem aqui

Magento 2.2.3 EE

Isso precisa funcionar com o módulo Magento commerce b2b. Portanto, todos em um grupo / empresa seriam limitados. Se houvesse 4 pessoas no grupo, mas uma pessoa comprasse o valor máximo, os outros 3 não teriam permissão para comprar nenhum. Isso torna a lógica cada vez mais complexa e difícil.

Respostas:


2

Você precisa escrever seu módulo personalizado e precisa usar este evento ( sales_quote_item_qty_set_after ).

nesse caso, é necessário - verificar o usuário logado atual e obter todos os itens adquiridos pelo cliente durante o mês atual. - verifique o QTY do seu produto e, se o qty for excedido, o qty máximo, você precisará lançar a expection

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

você também pode adicionar uma mensagem ao item itslef

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

onde o $ quoteItem proveniente desse código

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

Eu tinha antes uma similarlogic e este trabalho para mim


Obrigado pela resposta, esqueci de mencionar que isso precisa funcionar com o módulo Magento commerce b2b. Portanto, todos em um grupo / empresa seriam limitados. Se houvesse 4 pessoas no grupo, mas uma pessoa comprasse o valor máximo, os outros 3 não teriam permissão para comprar nenhum. Isso torna a lógica cada vez mais complexa e difícil.
Suplemento

Eu acredito que você pode controlá-lo neste evento, mas você precisa fazer verificar a empresa cliente, então você tem todos os itens qty para todos os 4 pessoas (como no seu exemplo)
Wisam HAKIM

Mais atualizações @WISAMHAKIM, estou muito interessado.
getData

ola @getData, você tentou a lógica no segundo comentário?
WISAM HAKIM

@WISAMHAKIM quais devem ser os arquivos nos quais a lógica acima é colocada?
getData
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.