En uno de los proyectos e-commerce que llevamos a cabo, se nos pidió mostrar el campo de comentario que puede rellenar un cliente (en el proceso de pedido), en los PDF de los albaranes. Básicamente por un tema de operatividad con expediciones.

Los cambios a realizar son los siguientes. Están probados en Prestashop 1.5.x y 1.6.x.

/pdf/delivery-slip.tpl

Después de la línea 128: <!– / PRODUCTS TAB –>

<table>
<tr><td style=”line-height: 8px”>&nbsp;</td></tr>
</table>

{if isset($client_comment)}
<div style=”line-height: 1pt”>&nbsp;</div>
<table style=”width: 100%”>
<tr>
<td style=”width: 22%; padding-right: 7px; text-align: right; vertical-align: top”><b>Comentario del cliente:</b></td>
<td style=”width: 78%”>
{$client_comment}
</td>
</tr>
</table>
{/if}

/classes/pdf/HTMLTemplateDeliverySlip.php

A partir de la línea 63:

$carrier = new Carrier($this->order->id_carrier);
$carrier->name = ($carrier->name == ‘0’ ? Configuration::get(‘PS_SHOP_NAME’) : $carrier->name);

// Código afectado –>
$messages = Message::getMessagesByOrderId($this->order->id, false);

$this->smarty->assign(array(
‘order’ => $this->order,
‘order_details’ => $this->order_invoice->getProducts(),
‘delivery_address’ => $formatted_delivery_address,
‘invoice_address’ => $formatted_invoice_address,
‘order_invoice’ => $this->order_invoice,
‘carrier’ => $carrier,
‘client_comment’ => $messages[0][‘message’]
));
// <– Código afectado

return $this->smarty->fetch($this->getTemplate(‘delivery-slip’));

Espero que os sirva.