maestrosombrita Posted June 30, 2015 Share Posted June 30, 2015 (edited) 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 June 30, 2015 by ventura (see edit history) Link to comment Share on other sites More sharing options...
ventura Posted June 30, 2015 Share Posted June 30, 2015 (edited) 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 June 30, 2015 by ventura (see edit history) Link to comment Share on other sites More sharing options...
maestrosombrita Posted June 30, 2015 Author Share Posted June 30, 2015 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 More sharing options...
ventura Posted June 30, 2015 Share Posted June 30, 2015 (edited) Si tienes la carpeta pdf dentro de la carpeta themes esta sobrescribira a la original, asi que tendras que editar el .tpl de esa ruta. También prueba a eliminar el archivo cache/class_index.php Edited June 30, 2015 by ventura (see edit history) Link to comment Share on other sites More sharing options...
maestrosombrita Posted June 30, 2015 Author Share Posted June 30, 2015 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 More sharing options...
ventura Posted June 30, 2015 Share Posted June 30, 2015 Con las modificaciones que te he comentado antes el resultado es el que aparece en la imagen adjunta. Probado en version 1.6.0.14, no he podido probar en versiones anteriores Un saludo Link to comment Share on other sites More sharing options...
maestrosombrita Posted June 30, 2015 Author Share Posted June 30, 2015 Gracias de nuevo Ventura, Ese mensaje es el que el cliente puede añadir en el paso 3 - Dirección - durante el proceso de compra? O es un mensaje que se ha añadido desde el gestor de pedidos de Prestashop? Link to comment Share on other sites More sharing options...
ventura Posted June 30, 2015 Share Posted June 30, 2015 Son los mensajes que deja el cliente, referente al pedido, desde el formulario y una vez realizado el pedido desde mi cuenta/ pedidos realizados Link to comment Share on other sites More sharing options...
maestrosombrita Posted June 30, 2015 Author Share Posted June 30, 2015 Ok, te refieres al mensaje que aparece, dentro del pedido propiamente, en el cuadro de dirección de envío. Es correcto, no? Link to comment Share on other sites More sharing options...
ventura Posted June 30, 2015 Share Posted June 30, 2015 si, asi es Link to comment Share on other sites More sharing options...
maestrosombrita Posted June 30, 2015 Author Share Posted June 30, 2015 OK, solucionado el problema Ventura. Se muestra correctamente el mensaje. Me estaba haciendo un lío porque la gente estaba añadiendo ese dato en los "datos complementarios" de la dirección.... Tocate las narices. No en el proceso de compra- Mil gracias Link to comment Share on other sites More sharing options...
ventura Posted June 30, 2015 Share Posted June 30, 2015 Me alegro de que te haya servido. Un saludo Link to comment Share on other sites More sharing options...
Recommended Posts