Bruno Martins Posted December 5, 2017 Share Posted December 5, 2017 Hello, I am trying define a minimum order value of 10€ without VAT (8.13) (would like for products only, not shipping fees), but PS 1.7.2.4 allow finish the order with 5€ (for example). If I activate debug mode, Front Page don't work and shows the error below. I tryed with default template and with a purchased template on Prestashop Market Place (addons.prestashop.com) Thansk in advance. Error: Whoops, looks like something went wrong. 1/1 ContextErrorException in CartPresenter.php line 445: Warning: sprintf(): Too few arguments in CartPresenter.php line 445 at ErrorHandler->handleError('2', 'sprintf(): Too few arguments', '/home/printmix/public_html/loja/src/Adapter/Cart/CartPresenter.php', '445', array('cart' => object(Cart), 'shouldSeparateGifts' => false, 'rawProducts' => array(), 'products' => array(), 'this' => object(CartPresenter), 'subtotals' => array('products' => array('type' => 'products', 'label' => 'Subtotal', 'amount' => '0', 'value' => '0,00 €'), 'discounts' => null, 'shipping' => array('type' => 'shipping', 'label' => 'Envio', 'amount' => '0', 'value' => 'Grátis'), 'tax' => null), 'productsTotalExcludingTax' => '0', 'total_excluding_tax' => '0', 'total_including_tax' => '0', 'total_discount' => '0', 'totalCartAmount' => '0', 'shippingCost' => '0', 'totals' => array('total' => array('type' => 'total', 'label' => 'Total', 'amount' => '0', 'value' => '0,00 €'), 'total_including_tax' => array('type' => 'total', 'label' => 'Total (com IVA)', 'amount' => '0', 'value' => '0,00 €'), 'total_excluding_tax' => array('type' => 'total', 'label' => 'Total (sem IVA)', 'amount' => '0', 'value' => '0,00 €')), 'products_count' => '0', 'summary_string' => '0 artigos', 'minimalPurchase' => '8.13', 'labels' => array('tax_short' => '(com IVA)', 'tax_long' => '(com IVA)'), 'discounts' => array(), 'vouchers' => array('allowed' => '0', 'added' => array()), 'cartRulesIds' => array())) at sprintf('É necessária uma compra total mínima de %1s (sem IVA) para validar a sua encomenda. O total atual da compra é de %2s (sem IVA).') in CartPresenter.php line 445 at CartPresenter->present(object(Cart)) in FrontController.php line 500 at FrontControllerCore->assignGeneralPurposeVariables() in FrontController.php line 536 at FrontControllerCore->initContent() in IndexController.php line 37 at IndexControllerCore->initContent() in Controller.php line 205 at ControllerCore->run() in Dispatcher.php line 379 at DispatcherCore->dispatch() in index.php line 28 Link to comment Share on other sites More sharing options...
jasg Posted January 31, 2018 Share Posted January 31, 2018 Hi Bruno, I don't know if you already solved this issue, but i had the same problem and i found the following solution. Hope this works for you! This error is caused by a bad translation of the variables %amount% and %total% 1. Go to BO-> International -> Translations 2. Choose CLASSIC Theme 3. Choose the Translation language 4. Search for "cart total" and replace the wrong translation text: "É necessária uma compra total mínima de %1s (sem IVA) para validar a sua encomenda. O total atual da compra é de %2s (sem IVA)." With for example:É necessária uma compra total mínima de %amount% (sem IVA) para validar a sua encomenda. O total atual da compra é de %total% (sem IVA). Espero ter ajudado :-) Link to comment Share on other sites More sharing options...
Bruno Martins Posted January 31, 2018 Author Share Posted January 31, 2018 Hello JASG I think so ... It help me. One more question please: the %total% variable followed (sem IVA), show me the amount with VAT and not without VAT. I changed the text to "(com IVA)". Exist any variable to show total without VAT ? Thanks. Best Regards. --- Olá JASG, Penso que falamos a mesma língua , pelo que vou escrever em português. Antes de mais, o que sugeriste ajudou na resolução do problema, ou seja, colocando um valor para o valor minimo no BO, o FO já não rebenta!!! O que pergunto é: existe alguma variável par amostrar o total sem IVA. O que fiz, foi mudar o texto e onde aparece total (sem Iva) coloquei total (com IVA), pois no BO tenho de colocar o valor sem IVA e a mensagem diz isso mesmo ... No nosso caso o que pretendemos é que não se consiga fechar nenhuma encomenda abaixo dos 10 € c/ Iva (8.13 s/ IVA), e os utilizadores a encomendarem encomendam C/ IVA. No entanto a dica foi 5 *****, pelo que mais uma vez agradeço. Cumprimentos Bruno Martins Link to comment Share on other sites More sharing options...
jasg Posted February 1, 2018 Share Posted February 1, 2018 Olá Bruno, Por defeito o prestashop considera o valor total dos artigo sem IVA para o limite. Se quiser que passa a considerar valores com IVA terá que fazer a seguinte alteração no ficheiro: \src\Adapter\Cart\CartPresenter.php Substituir a linha 435: 'minimalPurchaseRequired' => ($this->priceFormatter->convertAmount($productsTotalExcludingTax) < $minimalPurchase) ? Por: 'minimalPurchaseRequired' => ($this->priceFormatter->convertAmount($totalCartAmount) < $minimalPurchase) ? E substituir a linha 441 : '%total%' => $this->priceFormatter->convertAndFormat($productsTotalExcludingTax), Por: '%total%' => $this->priceFormatter->convertAndFormat($totalCartAmount), E no BO onde define o valor minimo por encomenda terá que colocar o valor com IVA em vez do valor sem IVA. Penso que será isso que pretende! Link to comment Share on other sites More sharing options...
Bruno Martins Posted February 1, 2018 Author Share Posted February 1, 2018 Boa tarde JASG, É isso mesmo. Vou modificar. Mais uma vez, muito obrigado. Cumprimentos, Bruno Martins Link to comment Share on other sites More sharing options...
Bruno Martins Posted February 1, 2018 Author Share Posted February 1, 2018 Boa tarde JASG, Só uma questão, isto não mexe com o valor dos portes, certo ? Ou seja se quiser que a compra mínima seja 10€ C/ Iva de produtos , sem o custo dos portes, o que é calculado para o $totalCartAmount é só o valor dos produtos ? Obrigado. Link to comment Share on other sites More sharing options...
jasg Posted February 3, 2018 Share Posted February 3, 2018 De nada :-) Sim, a variável $totalCartAmount é valor total dos produtos com IVA, excluindo portes de envio. Abraço! Link to comment Share on other sites More sharing options...
Bruno Martins Posted February 5, 2018 Author Share Posted February 5, 2018 Muito Obrigado JASG. Abraço. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now