Jump to content

[Solucionado] Mensaje "Envío de este artículo desde (variable)"


vive

Recommended Posts

Hola a todos,

 

En la página de ficha de cada producto, debajo del precio, me gustaría añadir "Envío de este artículo desde ..." y que apareciera el importe del transportista más económico, o siempre del transportista que se defina.

¿Sería esto posible? ¿Alguien sabe?

Tal y como hace el módulo "estimación de la entrega" cuando entramos en el carrito sin estar registrados. No sé si me explico.

Gracias.

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

El módulo se llama "carriercompare" y en estos archivos no se qué tendría que copiar para que apareciera en la página de cada producto un mensaje tipo "Envío de este artículo desde ..."

 

En carriercompare.js viene esto

<span class="price">'+(displayPrice == 1 ? formatCurrency(json[carrier].price_tax_exc, currencyFormat, currencySign, currencyBlank) : formatCurrency(json[carrier].price, currencyFormat, currencySign, currencyBlank))+'</span>';


En carriercompare.tpl viene esto

<tr>
<th class="carrier_action first_item"></th>
<th class="carrier_name item">{l s='Carrier' mod='carriercompare'}</th>
<th class="carrier_infos item">{l s='Information' mod='carriercompare'}</th>
<th class="carrier_price last_item">{l s='Price' mod='carriercompare'}</th>
</tr>

Link to comment
Share on other sites

Rocky publicó esto hace ya 3 años:

http://www.prestashop.com/forums/topic/57405-producttpl-print-weight/?do=findComment&comment=359652

¿Alguien sabría adaptarlo para que funcionara en la versión 1.4?

Creo que esta información es interesante mostrarla al cliente antes de que añada nada al carrito.

 

I'm guessing you want to display the shipping cost of the product for a specific carrier? You can add code like the following to product.php to get the shipping cost of the product:

$carrier = new Carrier(1, intval($cookie->id_lang));$shippingCost = $carrier->getDeliveryPriceByWeight($product->weight, 2);$smarty->assign('shippingCost', $shippingCost);

Change 1 to the ID of the carrier and change 2 to the zone that you want to get the shipping cost for.

You can then use the following in product.tpl:

{l s='Shipping cost:'} {convertPrice price=$shippingCost}

Link to comment
Share on other sites

En Carriers.php está la siguiente función:

public static function checkDeliveryPriceByWeight($id_carrier, $totalWeight, $id_zone)
{
$cache_key = $id_carrier.'_'.$totalWeight.'_'.$id_zone;
if (!isset(self::$priceByWeight2[$cache_key]))
{
$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow('
SELECT d.`price`
FROM `'._DB_PREFIX_.'delivery` d
LEFT JOIN `'._DB_PREFIX_.'range_weight` w ON d.`id_range_weight` = w.`id_range_weight`
WHERE d.`id_zone` = '.(int)($id_zone).'
AND '.(float)($totalWeight).' >= w.`delimiter1`
AND '.(float)($totalWeight).' < w.`delimiter2`
AND d.`id_carrier` = '.(int)($id_carrier).'
ORDER BY w.`delimiter1` ASC');
self::$priceByWeight2[$cache_key] = (isset($result['price']));
}
return self::$priceByWeight2[$cache_key];
}

 

¿Cómo podría llamar a esta función desde product.tpl y pasarle el peso del artículo que se esté visualizando en ese momento?

Me gustaría mostrar algo así: {l s='Envio desde:'} {convertPrice price=$costeenvio}

 

Uso la versión 1.4

Ayuda por favor! Gracias.

Link to comment
Share on other sites

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