Jump to content

[Solucionado] Añadir comentarios cliente en albarán de entrega


Recommended Posts

Hola,

 

Estoy intentando mostrar los comentarios que me realiza el cliente en el albarán de entrega (delivery-slip.tpl) pero no lo consigo.

 

Tengo PS 1.6.0.8

 

He intentado esta solución pero no me funciona:

 

/pdf/delivery-slip.tpl
Después de la línea 128: <!– / PRODUCTS TAB –>
<table>
<tr><td style=”line-height: 8px”> </td></tr>
</table>


{if isset($client_comment)}
<div style=”line-height: 1pt”> </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’));

Se os ocurre alguna solución?

 

 

Gracias!!!

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

Prueba asi en el array de

/classes/pdf/HTMLTemplateDeliverySlip.php

añade esto

'messages_customer' => CustomerMessage::getMessagesByOrderId($this->order->id, false),

Y en el 

/pdf/delivery-slip.tpl

Esto otro

  {if count($messages_customer)}
             
                            {foreach from=$messages_customer item=message name="messageList"}
                                <tr class="{if $smarty.foreach.messageList.first}first_item{elseif $smarty.foreach.messageList.last}last_item{/if} {if $smarty.foreach.messageList.index % 2}alternate_item{else}item{/if}">
                                    <td>
                                        <strong>
                                            {if isset($message.elastname) && $message.elastname}
                                                {$message.efirstname|escape:'html':'UTF-8'} {$message.elastname|escape:'html':'UTF-8'}
                                            {elseif $message.clastname}
                                                {$message.cfirstname|escape:'html':'UTF-8'} {$message.clastname|escape:'html':'UTF-8'}
                                            {else}
                                                {$shop_name|escape:'html':'UTF-8'}
                                            {/if}
                                        </strong>
                                        <br />
                                        {dateFormat date=$message.date_add full=1}
                                    </td>
                                    <td>{$message.message|escape:'html':'UTF-8'|nl2br}</td>
                                </tr>
                            {/foreach}
             
            {/if}

Quedaria darle formato para acoplarlo al resto del diseño del albaran

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

Gracias,

 

He añadido el código que me indicas y sigue sin mostrarse nada:

/classes/pdf/HTMLTemplateDeliverySlip.php

tengo el siguiente código:

$carrier = new Carrier($this->order->id_carrier);
		$carrier->name = ($carrier->name == '0' ? Configuration::get('PS_SHOP_NAME') : $carrier->name);
		$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'],
			'messages_customer' => CustomerMessage::getMessagesByOrderId($this->order->id, false)	
		));

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

En 

/pdf/delivery-slip.tpl

este otro

{if isset($client_comment)}
<div style=”line-height: 1pt”> </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}

{if count($messages_customer)}
             
    {foreach from=$messages_customer item=message name="messageList"}
        <tr class="{if $smarty.foreach.messageList.first}first_item{elseif $smarty.foreach.messageList.last}last_item{/if} {if $smarty.foreach.messageList.index % 2}alternate_item{else}item{/if}">
            <td>
                <strong>
                    {if isset($message.elastname) && $message.elastname}
                        {$message.efirstname|escape:'html':'UTF-8'} {$message.elastname|escape:'html':'UTF-8'}
                    {elseif $message.clastname}
                        {$message.cfirstname|escape:'html':'UTF-8'} {$message.clastname|escape:'html':'UTF-8'}
                    {else}
                        {$shop_name|escape:'html':'UTF-8'}
                    {/if}
                </strong>
                <br />
                {dateFormat date=$message.date_add full=1}
            </td>
            <td>{$message.message|escape:'html':'UTF-8'|nl2br}</td>
        </tr>
    {/foreach}
 
{/if}

Pero sigue sin mostrarse el comentario añadido por el cliente en el proceso de compra

Link to comment
Share on other sites

Mil gracias por tu ayuda Ventura,

 

Te cuento. La carpeta pdf, donde se ubica el fichero delivery-slip.tpl, esta no se encuentra dentro del tema. Dentro de la carpeta del tema si localizo una carpeta pdf pero solo incluye el fichero de localización es.php

 

He eliminado el fichero que me has indicado, cache/class_index.php, pero sigue sin mostrarse nada...

Link to comment
Share on other sites

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