hostxxi Posted November 7, 2014 Share Posted November 7, 2014 (edited) 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 November 30, 2014 by ventura (see edit history) Link to comment Share on other sites More sharing options...
hostxxi Posted November 10, 2014 Author Share Posted November 10, 2014 He buscado y rebuscado y nada Link to comment Share on other sites More sharing options...
ventura Posted November 10, 2014 Share Posted November 10, 2014 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 More sharing options...
hostxxi Posted November 12, 2014 Author Share Posted November 12, 2014 Gracias, me sirve mucho para implementarlo. Un saludo Link to comment Share on other sites More sharing options...
ventura Posted November 12, 2014 Share Posted November 12, 2014 (edited) 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 November 12, 2014 by ventura (see edit history) Link to comment Share on other sites More sharing options...
hostxxi Posted November 30, 2014 Author Share Posted November 30, 2014 Solucionado, al final he utilizado la opción de texto cuando hay stock. Link to comment Share on other sites More sharing options...
ventura Posted November 30, 2014 Share Posted November 30, 2014 No es exactamente lo mismo pero es un apaño. Queda el tema solucionado y procedo a cerrar el hilo Link to comment Share on other sites More sharing options...
Recommended Posts