Jump to content

[Solucionado]Estimación de tiempo de entrega en el producto PS1.6


Recommended Posts

Hola, he estado buscando y no he encontrado nada.

 

Quiero poner en la ficha del producto la estimación de entrega. Para ello, quiero asignar a un transportista 3 días de entrega. Ese transporte lo asignare a 10productos. Y en esos productos deberían de salir los días que tardaría en llegar.

 

¿Compo podría hacer esto?¿Hay algún módulo?

 

Un saludo

 

 

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

Tienes que hacer diversas modificaciones,  incluir en el archivo ProductController la funcion getCarriers para incluir los transportistas asignados a cada producto, eso ta dará un foreach (valores agrupados) de ahi podrás sacar ya desde el product.tpl el valor del transportista asignado al producto/s que mostrara el mensaje de plazo  de entrega

Link to comment
Share on other sites

Lo mejor es que hagas esto:

 

En el archivo

classes/Product.php

Añade esta funcion debajo de la getCarriers por ejemplo, asi tendrás los transportistas y el plazo de entrega que tienen

/**
* getCarriersDelay return an array of carriers name and delays
** @return array with carriers dates
*/
public function getCarriersDelay()
{
return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
SELECT cl.`delay`, c.`name`
FROM `'._DB_PREFIX_.'carrier_lang` cl
LEFT JOIN`'._DB_PREFIX_.'product_carrier` pc
ON (pc.`id_carrier_reference` = cl.`id_carrier`)
LEFT JOIN `'._DB_PREFIX_.'carrier` c
ON (c.`id_reference` = pc.`id_carrier_reference` AND c.`deleted` = 0)
WHERE pc.`id_product` = '.(int)$this->id.'
AND cl.`id_lang`='.(int)$this->id_lang.'
ORDER BY c.name ASC');
}
 

 

Luego en el archivo

controllers/front/ProductController.php

Añade esto en la funcion

public function initContent()

En la parte:

$this->context->smarty->assign(array(

 Añades otra linea con este codigo ( no olvidar la coma al final)

 'carriersdelay' => $this->product->getCarriersDelay($this->context->language->id),

Despues en el archivo 

themes/tu_tema/product.tpl

En la parte que quieras que aparezca colocas esto:

 {if $carriersdelay}
 <p>{l s='Carriers list'}<p/>
{foreach from=$carriersdelay item=carrier}
{$carrier.name} : {$carrier.delay}"><br/>
{/foreach}
 {/if}
Edited by ventura (see edit history)
Link to comment
Share on other sites

  • 3 weeks later...
Guest
This topic is now closed to further replies.
×
×
  • Create New...