Jump to content

Importar variable con descuentos a order-carrier.tpl


NBlack

Recommended Posts

Buenos días,

 

Estoy intentando traerme la variable $VouchezAllowed a order-carrier.tpl, en order-payment.tpl se puede hacer uso de esta variable pero no es posible usarla en order-carrier.tpl.

 

He mirado en los .php correspondientes pero no encuentro cuando definen esa variable en la sección correspondiente.

 

Se trata de que si el cliente tiene un cupón disponible y no lo ha usado en el apartado de elección de transporte le aparezca un mensaje informativo de que dispone de cupones.

 

El cuadro ya aparece, lo que me interesa es ponerle un {if $VouchezAllowed}

<div class="order_carrier_content_aviso box">
<img src="../themes/default-bootstrap/img/warning-icon.png" width="26" height="26"> ¿Ha olvidado aplicar su descuento? - PULSE AQUI
</div>

Se agradece toda ayuda posible.

Link to comment
Share on other sites

No me has respondido y no te he entendido demasiado tampoco. En DiscountController.php tienes esto

$cart_rules = CartRule::getCustomerCartRules($this->context->language->id, $this->context->customer->id, true, false);
$nb_cart_rules = count($cart_rules);

De ahi se sacan los datos que aparecen en la pagina descuentos desde la cuenta de usuario, 

  • Like 1
Link to comment
Share on other sites

Perdón Ventura, no sabía a que te referías.

 

Son vales generados para TODOS los clientes pero solo 1 uso por cada uno (es decir, no es independiente a un sólo usuario).

El mayor problema que he tenido es que el {DEBUG} no me lo ejecuta en order mientras que en el resto de la web si y no puedo ver las variables de uso.

 

Es decir, $cart_rules ¿hace referencia a los descuentos?

 

Disculpa mi ignorancia.

 

Gracias

 

P.D.: El resultado buscado es:

- Si el cliente tiene algún cupón sin usar, que en la página de selección de transportista le aparezca un cuadro informando de que dispone de un cupón, si no lo tiene, que no aparezca nada. El problema es que la gente no usa los cupones que hacemos y a veces preguntan por ellos después de hacer la compra.

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

Por el momento he visto que para poder hacer uso de la variable $displayVouchers que es la única que contiene el nº de cupones sin usar del cliente hay que añadirla en /controllers/ParentOrderController.php dentro de protected function _assignWrappingAndTOS()

 

El problema que se me plantea ahora es que esta variable depende de un objeto dentro de protected function _assignSummaryInformations() $available_cart_rules y que es de tipo privado...

 

Si alguien puede arrojar algo de luz, se agradecerá.

Link to comment
Share on other sites

No te disculpes por favor, aqui cuanto más sabemos más ignoramos.

 

Para la visualizacion nada mejor que banners  en partes visibles de la web para informar de la disponibilidad de estos vales de descuento. Date cuenta que las variables relativas a cart_rules en cart u order se utlizan para calcular los precios y demas operaciones relativas a operaciones en el carrito o a pedidos realizados. Puedes hacer una consulta para sacar todos los datos de la tabla cart_rules y de ahi coger lo que necesites

	$all_cart_rules = Db::getInstance()->executeS('
			SELECT cr.*
			FROM `'._DB_PREFIX_.'cart_rule` cr
			');
	     
  • Like 1
Link to comment
Share on other sites

Ventura,

 

Muchas gracias por la mano que me estas echando, nunca había recurrido a acceder directamente a la bbdd y meter los resultados en una variable.

Por desgracia he mirado y el resultado en cart_rules me indica que códigos tengo, pero no se si ese usuario ya ha hecho uso de ese cupón.

 

¿No existe posibilidad de usar la llamada que hace en private _assignSummaryInformations?

$available_cart_rules = CartRule::getCustomerCartRules($this->context->language->id, (isset($this->context->customer->id) ? $this->context->customer->id : 0), true, true, true, $this->context->cart);

Si meto eso cambiando el nombre de la variable y reusándola me da error.

 

Muchas gracias por todo :)

 

Si lo veo muy crudo lo dejo estático y listo, pero ya de ponernos, pues hacerlo bien.

Link to comment
Share on other sites

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