Jump to content

Transporteur sur facture ou BL


Recommended Posts

Bonjour,

 

Il n'est plus mentionné le transporteur sur la facture ou sur le BL.

Malgré mes tentatives

$carrierfr = new Carrier((int)$order->id_carrier, $order->id_lang);

dans le HTMLTemplateInvoice.php

 

Je n'obtiens rien.

 

Seul id du transporteur est ajoutable sans problème, mais pas le nom.

 

Si quelqu'un a une idée ou carrément le mode op...

 

Merci

Link to comment
Share on other sites

  • 1 month later...

Bonjour,

 

Nous avons le même problème(qui d'ailleurs est incompréhensible supprimer des élément essentiels),

j'ai seulement réussi à afficher l'ID du transporteur, e ne parviens pas à afficher le nom, ce qu'il faut ajouter est en rouge.

Si quelqu'un à une solution pour afficher le nom elle sera la bienvenu

 

 

<!-- CUSTOMER INFORMATION -->

<b>{l s='Order Number:' pdf='true'}</b><br />

{$order->getUniqReference()}<br />

<br />

<b>{l s='Order Date:' pdf='true'}</b><br />

{$order->date_add|date_format:"%d-%m-%Y %H:%M"}<br />

<b>{l s='Carriage Company:' pdf='true'}</b><br />

{$order->id_carrier}<br />

<br />

<b>{l s='Payment Method:' pdf='true'}</b><br />

<table style="width: 100%;">

{foreach from=$order_invoice->getOrderPaymentCollection() item=payment}

Link to comment
Share on other sites

  • 3 months later...

Voici une solution avec ajout du poids du coli :

 

{foreach from=$order->getShipping() item=shipping name=shippingsLoop}
	    {if $order->id_carrier > 0} <b>{l s='Transporteur :' pdf='true'}</b><br />{$carrier}{/if}
  <br />
	    {$shipping.weight|string_format:"%.2f"} Kg<br />
<br />{if $shipping.tracking_number}
  <b>{l s='N° de suivi :' pdf='true'}</b><br />
{$shipping.tracking_number}{/if}		   <br /> 
{/foreach}

Link to comment
Share on other sites

invoice.tpl

{*
* 2007-2012 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to [email protected] so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
*  @author PrestaShop SA <[email protected]>
*  @copyright  2007-2012 PrestaShop SA
*  @version  Release: $Revision: 6753 $
*  @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*}
<div style="font-size: 8pt; color: #444">
<table>
<tr><td> </td></tr>
</table>
<!-- ADDRESSES -->
<table style="width: 100%">
<tr>
 <td style="width: 15%"></td>
 <td style="width: 85%">
  {if !empty($delivery_address)}
   <table style="width: 100%">
 <tr>
  <td style="width: 50%">
   <span style="font-weight: bold; font-size: 10pt; color: #9E9F9E">{l s='Delivery Address' pdf='true'}</span><br />
    {$delivery_address}
  </td>
  <td style="width: 50%">
   <span style="font-weight: bold; font-size: 10pt; color: #9E9F9E">{l s='Billing Address' pdf='true'}</span><br />
    {$invoice_address}
  </td>
 </tr>
   </table>
  {else}
   <table style="width: 100%">
 <tr>
  <td style="width: 50%">
   <span style="font-weight: bold; font-size: 10pt; color: #9E9F9E">{l s='Billing & Delivery Address.' pdf='true'}</span><br />
    {$invoice_address}
  </td>
  <td style="width: 50%">
  </td>
 </tr>
   </table>
  {/if}
 </td>
</tr>
</table>
<!-- / ADDRESSES -->
<div style="line-height: 1pt"> </div>
<!-- PRODUCTS TAB -->
<table style="width: 100%">
<tr>
 <td style="width: 15%; padding-right: 7px; text-align: right; vertical-align: top; font-size: 7pt;">
  <!-- CUSTOMER INFORMATION -->
  <b>{l s='Order Number:' pdf='true'}</b><br />
  {$order->getUniqReference()} <span style="font-size:small">({$order_invoice->id_order})</span><br />
  <br />
  <b>{l s='Order Date:' pdf='true'}</b><br />
  {$order->date_add|date_format:"%d-%m-%Y %H:%M"}<br />
  <br />
  <b>{l s='Payment Method:' pdf='true'}</b><br />
  <table style="width: 100%;">
  {foreach from=$order_invoice->getOrderPaymentCollection() item=payment}
   <tr>
 <td style="width: 60%; font-size:small">{$payment->payment_method}</td>
 <td style="width: 40%; font-size:small">{displayPrice price=$payment->amount currency=$order->id_currency}</td>
   </tr>
  {foreachelse}
   <tr>
 <td>{l s='No payment'}</td>
   </tr>
  {/foreach}
  </table>
  <br />{foreach from=$order->getShipping() item=shipping name=shippingsLoop}
	    {if $order->id_carrier > 0} <b>{l s='Transporteur :' pdf='true'}</b><br />{$carrier}{/if}
  <br />
	    {$shipping.weight|string_format:"%.2f"} Kg<br />
<br />{if $shipping.tracking_number}
  <b>{l s='N° de suivi :' pdf='true'}</b><br />
{$shipping.tracking_number}{/if}		   <br /> 
{/foreach}
  <!-- / CUSTOMER INFORMATION -->
 </td>
 <td style="width: 85%; text-align: right">
  <table style="width: 100%; font-size: 8pt;">
   <tr style="line-height:4px;">
 <td style="text-align: left; background-color: #4D4D4D; color: #FFF; padding-left: 10px; font-weight: bold; width: 45%">{l s='Product / Reference' pdf='true'}</td>
 <!-- unit price tax excluded is mandatory -->
 {if !$tax_excluded_display}
  <td style="background-color: #4D4D4D; color: #FFF; text-align: right; font-weight: bold; width: 10%">{l s='Unit Price' pdf='true'} <br />{l s='(Tax Excl.)' pdf='true'}</td>
 {/if}
 <td style="background-color: #4D4D4D; color: #FFF; text-align: right; font-weight: bold; width: 10%">
  {l s='Unit Price' pdf='true'}
  {if $tax_excluded_display}
    {l s='(Tax Excl.)' pdf='true'}
  {else}
    {l s='(Tax Incl.)' pdf='true'}
  {/if}
 </td>
 <td style="background-color: #4D4D4D; color: #FFF; text-align: right; font-weight: bold; width: 10%">{l s='Discount' pdf='true'}</td>
 <td style="background-color: #4D4D4D; color: #FFF; text-align: center; font-weight: bold; width: 10%">{l s='Qty' pdf='true'}</td>
 <td style="background-color: #4D4D4D; color: #FFF; text-align: right; font-weight: bold; width: {if !$tax_excluded_display}15%{else}25%{/if}">
  {l s='Total' pdf='true'}
  {if $tax_excluded_display}
   {l s='(Tax Excl.)' pdf='true'}
  {else}
   {l s='(Tax Incl.)' pdf='true'}
  {/if}
 </td>
   </tr>
   <!-- PRODUCTS -->
   {foreach $order_details as $order_detail}
   {cycle values='#FFF,#DDD' assign=bgcolor}
   <tr style="line-height:4px;background-color:{$bgcolor};">
 <td style="text-align: left; width: 45%">[{$order_detail.product_reference}] {$order_detail.product_name}</td>
 <!-- unit price tax excluded is mandatory -->
 {if !$tax_excluded_display}
  <td style="text-align: right; width: 10%">
  {displayPrice currency=$order->id_currency price=$order_detail.unit_price_tax_excl}
  </td>
 {/if}
 <td style="text-align: right; width: 10%">
 {if $tax_excluded_display}
  {displayPrice currency=$order->id_currency price=$order_detail.unit_price_tax_excl}
 {else}
  {displayPrice currency=$order->id_currency price=$order_detail.unit_price_tax_incl}
 {/if}
 </td>
 <td style="text-align: right; width: 10%">
 {if (isset($order_detail.reduction_amount) && $order_detail.reduction_amount > 0)}
  -{displayPrice currency=$order->id_currency price=$order_detail.reduction_amount}
 {else if (isset($order_detail.reduction_percent) && $order_detail.reduction_percent > 0)}
  -{$order_detail.reduction_percent}%
 {else}
 --
 {/if}
 </td>
 <td style="text-align: center; width: 10%">{$order_detail.product_quantity}</td>
 <td style="width: 15%; text-align: right;  width: {if !$tax_excluded_display}15%{else}25%{/if}">
 {if $tax_excluded_display}
  {displayPrice currency=$order->id_currency price=$order_detail.total_price_tax_excl}
 {else}
  {displayPrice currency=$order->id_currency price=$order_detail.total_price_tax_incl}
 {/if}
 </td>
   </tr>
 {foreach $order_detail.customizedDatas as $customizationPerAddress}
  {foreach $customizationPerAddress as $customizationId => $customization}
   <tr style="line-height:6px;background-color:{$bgcolor}; ">
    <td style="line-height:3px; text-align: left; width: 60%; vertical-align: top">
	  <blockquote>
	   {foreach $customization.datas[$smarty.const._CUSTOMIZE_TEXTFIELD_] as $customization_infos}
	    {$customization_infos.name}: {$customization_infos.value}
	    {if !$smarty.foreach.custo_foreach.last}<br />
	    {else}
	    <div style="line-height:0.4pt"> </div>
	    {/if}
	   {/foreach}
	   {if count($customization.datas[$smarty.const._CUSTOMIZE_FILE_]) > 0}
	    {count($customization.datas[$smarty.const._CUSTOMIZE_FILE_])} {l s='image(s)' pdf='true'}
	   {/if}
	  </blockquote>
    </td>
    <td style="text-align: right; width: 15%"></td>
    <td style="text-align: center; width: 10%; vertical-align: top">({$customization.quantity})</td>
    <td style="width: 15%; text-align: right;"></td>
   </tr>
  {/foreach}
 {/foreach}
   {/foreach}
   <!-- END PRODUCTS -->
   <!-- CART RULES -->
   {assign var="shipping_discount_tax_incl" value="0"}
   {foreach $cart_rules as $cart_rule}
   {cycle values='#FFF,#DDD' assign=bgcolor}
 <tr style="line-height:6px;background-color:{$bgcolor};" text-align="left">
  <td colspan="{if !$tax_excluded_display}5{else}4{/if}">{$cart_rule.name}</td>
  <td>
   {if $cart_rule.free_shipping}
    {assign var="shipping_discount_tax_incl" value=$order_invoice->total_shipping_tax_incl}
   {/if}
   {if $tax_excluded_display}
    - {$cart_rule.value_tax_excl}
   {else}
    - {$cart_rule.value}
   {/if}
  </td>
 </tr>
   {/foreach}
   <!-- END CART RULES -->
  </table>
  <table style="width: 100%">
   {if (($order_invoice->total_paid_tax_incl - $order_invoice->total_paid_tax_excl) > 0)}
   <tr style="line-height:5px;">
 <td style="width: 85%; text-align: right; font-weight: bold">{l s='Product Total (Tax Excl.)' pdf='true'}</td>
 <td style="width: 15%; text-align: right;">{displayPrice currency=$order->id_currency price=$order_invoice->total_products}</td>
   </tr>
   <tr style="line-height:5px;">
 <td style="width: 85%; text-align: right; font-weight: bold">{l s='Product Total (Tax Incl.)' pdf='true'}</td>
 <td style="width: 15%; text-align: right;">{displayPrice currency=$order->id_currency price=$order_invoice->total_products_wt}</td>
   </tr>
   {else}
   <tr style="line-height:5px;">
 <td style="width: 85%; text-align: right; font-weight: bold">{l s='Product Total' pdf='true'}</td>
 <td style="width: 15%; text-align: right;">{displayPrice currency=$order->id_currency price=$order_invoice->total_products}</td>
   </tr>
   {/if}
   {if $order_invoice->total_discount_tax_incl > 0}
   <tr style="line-height:5px;">
 <td style="text-align: right; font-weight: bold">{l s='Total Vouchers' pdf='true'}</td>
 <td style="width: 15%; text-align: right;">-{displayPrice currency=$order->id_currency price=($order_invoice->total_discount_tax_incl + $shipping_discount_tax_incl)}</td>
   </tr>
   {/if}
   {if $order_invoice->total_wrapping_tax_incl > 0}
   <tr style="line-height:5px;">
 <td style="text-align: right; font-weight: bold">{l s='Wrapping Cost' pdf='true'}</td>
 <td style="width: 15%; text-align: right;">
 {if $tax_excluded_display}
  {displayPrice currency=$order->id_currency price=$order_invoice->total_wrapping_tax_excl}
 {else}
  {displayPrice currency=$order->id_currency price=$order_invoice->total_wrapping_tax_incl}
 {/if}
 </td>
   </tr>
   {/if}
   {if $order_invoice->total_shipping_tax_incl > 0}
   <tr style="line-height:5px;">
 <td style="text-align: right; font-weight: bold">{l s='Shipping Cost' pdf='true'}</td>
 <td style="width: 15%; text-align: right;">
  {if $tax_excluded_display}
   {displayPrice currency=$order->id_currency price=$order_invoice->total_shipping_tax_excl}
   {else}
   {displayPrice currency=$order->id_currency price=$order_invoice->total_shipping_tax_incl}
  {/if}
 </td>
   </tr>
   {/if}
   {if ($order_invoice->total_paid_tax_incl - $order_invoice->total_paid_tax_excl) > 0}
   <tr style="line-height:5px;">
 <td style="text-align: right; font-weight: bold">{l s='Total Tax' pdf='true'}</td>
 <td style="width: 15%; text-align: right;">{displayPrice currency=$order->id_currency price=($order_invoice->total_paid_tax_incl - $order_invoice->total_paid_tax_excl)}</td>
   </tr>
   {/if}
   <tr style="line-height:5px;">
 <td style="text-align: right; font-weight: bold">{l s='Total' pdf='true'}</td>
 <td style="width: 15%; text-align: right;">{displayPrice currency=$order->id_currency price=$order_invoice->total_paid_tax_incl}</td>
   </tr>
   {if $order_invoice->getRestPaid() > 0}
   <tr style="line-height:5px;color:red;">
 <td style="text-align: right; font-weight: bold">{l s='Remaining Amount Due' pdf='true'}</td>
 <td style="width: 15%; text-align: right;">{displayPrice currency=$order->id_currency price=$order_invoice->getRestPaid()}</td>
   </tr>
   {/if}
  </table>
 </td>
</tr>
</table>
<!-- / PRODUCTS TAB -->
<div style="line-height: 1pt"> </div>
{$tax_tab}
{if isset($order_invoice->note) && $order_invoice->note}
<div style="line-height: 1pt"> </div>
<table style="width: 100%">
<tr>
 <td style="width: 15%"></td>
 <td style="width: 85%">{$order_invoice->note|nl2br}</td>
</tr>
</table>
{/if}
{if isset($HOOK_DISPLAY_PDF)}
<div style="line-height: 1pt"> </div>
<table style="width: 100%">
<tr>
 <td style="width: 15%"></td>
 <td style="width: 85%">{$HOOK_DISPLAY_PDF}</td>
</tr>
</table>
{/if}
</div>

Link to comment
Share on other sites

Essaye ceci dans override/controllers/front/PdfInvoiceController.php

<?php
class PdfInvoiceController extends PdfInvoiceControllerCore
{
public static function displayCarrier($id, $orderlg)
{
 if ($id != null){
  $carrier="NA";
  return $carrier;
 }
 else{
  $carrier = new Carrier($id, $orderlg);
 return $carrier;
 }
}
}

Link to comment
Share on other sites

Même souci. Le bout de code proposé par Grafics ne fonctionne pas chez nous (Prestashop 1.5.3.1, nouvelle installation). Nous avons réussi à récupérer l'ID mais pas le nom du transporteur.

 

 

Pour infos, la référence produit est simple à ajouter :

 

{$order_detail.reference}

 

Merci de votre aide pour le transporteur. L'information est indispensable !

Link to comment
Share on other sites

Ce que j'ai donné fonctionne bien sur des boutique 1.5.3.1 que l'on a.

 

 

Edit : Fichier zip avec 2 fichiers.

Le 1er template invoice à mettre dans dossier pdf se trouvant à la racine

Le 2ème override de la classe invoice pdf se trouvant dans le dossier override/classes/pdf

prestashop.zip

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

  • 1 month later...

En mettant les deux fichiers du zip proposé par Grafics dans les endroits indiqués, mes factures ne se sont pas modifiées (ni les bons de livraison).

 

Dois-je effectuer les modifications proposées plus haut (override/controllers/front/PdfInvoiceController.php et invoice.tpl) en plus des nouveaux fichiers du zip? Ma boutique est une presta 1.5.3.1

 

Je vous remercie pour votre réponse.

Link to comment
Share on other sites

Dois-je effectuer les modifications proposées plus haut (override/controllers/front/PdfInvoiceController.php et invoice.tpl) en plus des nouveaux fichiers du zip? Ma boutique est une presta 1.5.3.1

Est-ce que tu as des fichiers dans le dossiers pdf de ton thème ?

Si tu as mis les 2 fichiers, les modifications sont en place.

Link to comment
Share on other sites

Bonjour,

 

Pour la version prestashop 1.5.4, comment on procède?

 

Il n'y à plus de fichiers dans override et si je modifie le dossier classes/pdf/HTMLTemplateInvoice.php, on obtient une page blanche à l'édition de la facture et pas de transporteur sur le BL.

 

Merci de votre aide.

Bonne journée.

 

Fred

Link to comment
Share on other sites

Après vérif, je n'ai pas de différence avec la 1.5.4.

Fichiers à remplacer :

Le 1er template invoice à mettre dans dossier pdf se trouvant à la racine

Le 2ème override de la classe invoice pdf se trouvant dans le dossier override/classes/pdf si le fichier n'existe pas. S'il existe, il faut ajouter la fonction présente dans le fichier que vous avez.

 

Choisir ensuite dans le BO le template invoice-carrier dans Facture (onglet commande)

Link to comment
Share on other sites

Dans ma configuration cela ne fonctionne pas. j'ai certainement oublié quelque chose!

Je n'ai pas de transporteur et poids sur mes BL et sur les factures il y à juste d'écrit "Transporteur :"

 

J'ai rajouter les 2 fichiers "HTMLTemplateInvoice.php" et "invoice-carrier.tpl" doit on rajouter autre chose?

 

Fred

Link to comment
Share on other sites

Est-ce que tu as des tpl dans le dossier pdf de ton thème?

Est-ce que tu as bien choisi invoice carrier comme template de réf?

 

Pour les bl, il n'y a rien étant donné que le tpl n'est pas changé ici. Les même modif sont à faire sur le template du bl.

Link to comment
Share on other sites

Cela fonctionne à présent.

Dans le fichier « invoice-carrier.tpl » fourni par Grafics, j’ai remplacé

 

Ligne 97 :

 

{if $order->id_carrier > 0} <b>{l s='Transporteur :' pdf='true'}</b><br />{$carrier}{/if}

 

Par ( voir post #4)

 

{foreach from=$order->getShipping() item=shipping name=shippingsLoop}
				{if $order->id_carrier > 0} <b>{l s='Transporteur :' pdf='true'}</b><br />{$carrier}{/if}
  <br />
				{$shipping.weight|string_format:"%.2f"} Kg<br />
<br />{if $shipping.tracking_number}
  <b>{l s='N° de suivi :' pdf='true'}</b><br />
{$shipping.tracking_number}{/if}				   <br /> 
{/foreach}

 

Merci.

Fred.

Link to comment
Share on other sites

  • 1 month later...

Et pour la 1.5.4.1, vous avez une solution ?

 

Je ne comprendrais jamais Préstashop ! Mettre un numero de commande qui n'est plus le meme que celuis du BO, retirer l'ID, retirer le le Transporteur. Ils sont débile, ou prennent plaisir a reculer un peu plus dans l'ergonomie a chaque nouvelle mise a jour.

 

Au final le nouveau BL, ne sert plus a rien, il est inutile !

 

Merci de votre aide.

Link to comment
Share on other sites

  • 1 month later...

alors pour ma 1.5.4.1, j'ai fait tout ce qui est marqué depuis le début, et même les modifs de mfrederic4.

Sur mes factures j'ai maintenant une belle ligne "transporteur" avec le poids du colis, mais toujours pas le nom du transporteur.

 

A priori le $carrier ne renvoi aucune donnée car si je remplace {$carrier} par {$order->id_carrier} alors j'ai bien le numéro 33 qui s'affiche sur la facture.

 

Au pire, si on n'arrive pas à mettre le nom sur la 1.5.4.1 , on peut mettre le logo ?

Edited by Jean Francois G (see edit history)
Link to comment
Share on other sites

J'ai bien mis les deux fichiers du zip dont celui du override qui n'existait pas d'ailleurs. Commande de test effectué et pas de nom de transporteur écrit.

faut il déclaré le fichier du override quelque part ?

 

@atlasgame : effectivement, je ne comprends d'ailleurs pas qu'ils n'aient toujours pas décidé de proposer un correctif concernant ces manques de la facture. Et j'espère qu'on leur à déja remonter l'info depuis le temps.

 

@grafics: le override/controllers/front/PdfInvoiceController.php n'existe plus sur 1.5.4.1 donc je suppose que l'on ne gère que le fichier HTMLTemplateInvoice.php

Edited by Jean Francois G (see edit history)
Link to comment
Share on other sites

  • 2 weeks later...
  • 2 months later...

Bonjour.

 

J'ai voulu rajouter le nom du transporteur sur les factures.

Pour cela j'ai utilisé les fichiers fournis par grafics.

Tout fonctionnait bien quand j'ai testé, seulement 2 jours plus tard les factures m'affichaient seulement le header et le footer.

J'ai essayé de remettre les fichiers sans succès.

Je précise que je n'ai fait aucune modification entre temps. J'utilise Prestashop 1.5.4.1.

 

Merci.

Link to comment
Share on other sites

Je n'ai pas compris ce qu'il s'est passé, mais j'avais inséré une zone de texte dans laquelle un accent était présent et non encodé.

Ceci ne me créait pas d'erreur auparavant mais du jour au lendemain plus rien ne s'affichait sur les factures.

Merci quand même de l'aide.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...