Jump to content

SOLUCIONADO Modulo Cheque


jjryeste

Recommended Posts

Hola, en el modulo cheque en prestashop 1.6.0.6 , si modificamos en \modules\cheque\views\templates\front 

payment_execution.tpl   la linea

{if isset($nbProducts) && $nbProducts <= 0}  y en lugar del 0 ponemos un 3 , pues sucede que el comprador no podra pagar con estemetodo si no ha puesto en el carro mas de tres productos y asi si ponemos 5 ues han de ser mas de cinco productos, Ahora bien que debneria poner para que en lugar de la cantidad de productos fuese una cantidad de dinero por ejemplo 100 euros como minimo para aceptar esta forma de pagp, alguien puede ayudarme, h eintentado cosas como esta

{if isset($nbPrice) && $nbPrice < $minimalPrice*100.00}

o

{if isset($nbPurchase) && $nbPurchase < $minimalPurchase*10.00}

algun compañero puede ayudarme, Gracias

Edited by jjryeste (see edit history)
Link to comment
Share on other sites

En esta ruta.

dominio.com/modules/cheque/cheque.php

 

En cheque.php busca este codigo.

 

public function hookPayment($params)
{
            if (!$this->active)
return;
 
 
Debajo pon este codigo.
 
if ($params['cart']->id_currency == 1 && $params['cart']->getOrderTotal() < 100) return;
 
Al poner este nuevo codigo, los pedidos que tengan menos de 100 euros no veran el metodo de pago por cheque.
Link to comment
Share on other sites

Gracias por responder, he probado el codigo qu edices y funciona perfecto

pero quisiera que al igual que modificando como dije el 0  sal eel aviso de comprar mas productos

siga apareciendo el metodo de pago y salga un aviso diciendo que la compra ha de ser superior a 100 euros

ya lo puse en la traduccion. ( PARA ELEGIR ESTE METODO DE PAGO SU COMPRA HA DE SER SUPERIOR A 100€)

hay alguna posibilidad de realizarlo, Gracias

Link to comment
Share on other sites

  • 3 weeks later...

he puesto este codigo

{if $getOrderTotal <=100}
    <p class="warning">{l s='PARA ESTE METODO DE PAGO DEBEN SER MAS DE 100 EUROS.'}</p>
{else}

 

en en \modules\cheque\views\templates\front  payment_execution.tpl

y me sal eel aviso pero cuando supero la cantidad de dinero no aparece la confirmacion de pago

Link to comment
Share on other sites

Desde el .tpl  del modulo con el condicional de precio no se realizara el cambio instantanéo al cambiar de precio en el carrito ya que el json se procesa desde el hook, sera necesario actualizar la pagina para que se aplique

Link to comment
Share on other sites

Gracias ventura por responder

el caso es que s con este codigo

{if $nbProducts <= 3}
    <p class="warning">{l s='PARA ESTE METODO DE PAGO DEBEN SER MAS DE 3 ARTICULOS.'}</p>
{else}

Hace que sean necesario comprar tres articulos ientras sale el aviso de comprar tres o mas , cuando se han comprado tres articulos , automaticamente deja pagar

 

como podria hacer lo mismo pero con la cantidad de dinero

Gracias

Link to comment
Share on other sites

Si, creo que no lo entendi bien

Puedes probar con esto, seria por ejemplo para la plantilla default, en 1.6 el archivo

themes\tu_tema\modules\cheque\views\templates\hook\payment.tpl

Cambia el contenido que haya por esto

{assign var='cartTotal' value=Context::getContext()->cart->getOrderTotal(false, Cart::ONLY_PRODUCTS)}
{assign var='minimunAmount' value=Tools::displayPrice(100, $this->context->currency, false)}

{if $cartTotal < $minimunAmount}

<div class="row">
	<div class="col-xs-12">
		<p class="payment_module">
			<a class="cheque" style="pointer-events: none" href="" title="{l s='Pay by check not available' mod='cheque'}">
				{l s='Pay by check' mod='cheque'} <span> {l s='(A minimum purchase total of %s is required in order to pay with check method.)' sprintf=[Tools::displayPrice($minimunAmount, $this->context->currency, false)] mod='cheque'}</span>
			
			</a>
		</p>
	</div>
</div>



{else}

<div class="row">
	<div class="col-xs-12">
        <p class="payment_module">
            <a class="cheque" href="{$link->getModuleLink('cheque', 'payment', [], true)|escape:'html':'UTF-8'}" title="{l s='Pay by check.' mod='cheque'}">
                {l s='Pay by check' mod='cheque'} <span>{l s='(order processing will be longer)' mod='cheque'}</span>
            </a>
        </p>
    </div>
</div>


{/if}

editando la parte de color para variar el importe minimo permitido

 

{assign var='minimunAmount' value=Tools::displayPrice(100, $this->context->currency, false)}

Link to comment
Share on other sites

  • nadie locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...