Jump to content

Contribuição: alterar valor mínimo do pedido para quantidade mínima de produtos no carrinho


Recommended Posts

Contribution: Change minimum order amount for minimum amount of products in the cart in 1.6

 

Fala pessoal, 

 

Pesquisei como alterar a opção padrão de estabelecer um valor mínimo para finalização do pedido para uma quantidade mínima de produtos no carrinho para finalizar o pedido na versão 1.6 Geralmente usado nas lojas de atacado onde o pedido só pode ser feito quando alcançar determinada quantidade de produtos.

 

Consegui resolver fazendo a alteração abaixo em controllers/front/OrderOpcController.php para quem usa checkout em uma página. 

 

Encontrar:

 

---

$currency = Currency::getCurrency((int)$this->context->cart->id_currency);
 
$minimal_purchase = Tools::convertPrice((float)Configuration::get('PS_PURCHASE_MINIMUM'), $currency);
if ($this->context->cart->getOrderTotal(false, Cart::ONLY_PRODUCTS) < $minimal_purchase)
return '<p class="warning">'.sprintf(
Tools::displayError('A minimum purchase total of %1s (tax excl.) is required in order to validate your order, current purchase total is %2s (tax excl.).'),
Tools::displayPrice($minimal_purchase, $currency), Tools::displayPrice($this->context->cart->getOrderTotal(false, Cart::ONLY_PRODUCTS), $currency)
).'</p>';
 
$minimalPurchase = (float)Configuration::get('PS_PURCHASE_MINIMUM');
if (self::$cart->nbProducts() < $minimalPurchase)
return '<p class="warning">'.Tools::displayError('A minimum purchase total of').' '.$minimalPurchase.
' '.Tools::displayError('Products is required in order to validate your order.').'</p>';
---
 
Substituir por:
---
$minimal_purchase = (float)Configuration::get('PS_PURCHASE_MINIMUM');
$produtos = $this->context->cart->nbProducts();
$falta = $minimal_purchase - $produtos;
if ($this->context->cart->nbProducts() < $minimal_purchase)
return '<p class="warning">'.sprintf(
Tools::displayError('O total mínimo de produtos em seu carrinho deve ser %1s produtos, neste momento você tem somente %2s produtos adicionados ao seu carrinho. Adicione mais %3s produtos(s) para finalizar seu pedido.'),
($minimal_purchase), ($produtos), ($falta)
).'</p>';
---
 
No admin acesse "Preferências e depois Compras" e insira a quantidade mínima no campo "total mínimo de comprar requerido..."
 
Isto vai mostrar um aviso antes das opções de pagamento informando a quantidade mínima de produtos, quantos já existem no carrinho, e a quantidade que falta para que ele possa finalizar o pedido.
 
Quem usa o checkout em 5 etapas pode fazer esta alteração em controllers/front/OrderController.php
 
Espero a que ajude a quem necessite desta alteração. Para garantir as alterações depois de atualizar seria necessário criar um override.
Edited by cesarmachado (see edit history)
  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...