Jump to content

Caractéristiques produits dans PDF Livraison et Facture


Recommended Posts

Bonjour à tous.

 

Je suis sous Prestashop 1.6.1.0

 

Je n'arrive pas à ajouter les caractéristiques de mes produits dans les PDF de livraison et de facture.

 

J'ai pu les rajouter sans souci dans mon tunnel de commande avec ce code trouvable ailleurs sur le forum.

 

Dans shopping-cart-product-line.tpl en dessous de la classe product-name :

 

{assign var='features' value=Product::getFrontFeaturesStatic($cookie->id_lang, $product.id_product)}

{if isset($features) && $features}

{foreach from=$features item=feature}

{if isset($feature.value)}

{$feature.name|escape:'htmlall':'UTF-8'} : {$feature.value|escape:'htmlall':'UTF-8'}

{/if}

{/foreach}

{/if}

 

 

Le code suivant est également proposé sur le forum pour afficher les caractéristiques dans les factures mais rien ne s'affiche dans les PDF.

 

{assign var="defaultlang" value=(int)(Configuration::get('PS_LANG_DEFAULT'))}

{assign var="features" value=Product::getFrontFeaturesStatic($defaultlang, $order_detail.product_id)}

{foreach $features as $feature}

{$feature.name}: {$feature.value}

{/foreach}

 

Quelqu'un a-t-il déjà trouvé la bonne parade ?

 

Merci de votre aide et de votre temps.

Link to comment
Share on other sites

Vous devez créer des données pour les modèles de facture dans /classes/pdf/HTMLTemplateInvoice.php puis utiliser ces données dans le modèle(s) - /pdf/invoice.product-tab.tpl ou autre

Alternativement, le module M4 PDF Extensions a les "Factures - Caractéristiques du produit" modèle (m4_invoice_product_features.tpl) déjà intégré.

 

 

You have to create data for invoice templates in /classes/pdf/HTMLTemplateInvoice.php and then use that data in the template(s) - /pdf/invoice.product-tab.tpl or other

 

Alternatively, the M4 PDF Extensions module has the "Invoices - product features" template (m4_invoice_product_features.tpl) already built-in.

Link to comment
Share on other sites

Merci de votre retour. 

 

En fait le code précédent fonctionne sans override de la classe HTMLTemplateInvoice.php

 

Il faut faire un override des PDF en les ajoutant dans le dossier themes.

 

Bizarrement cette modification ne fonctionne pas si les PDF restent dans leur dossier par défaut. Même après avoir vidé le cache.

 

C'est tout con mais bon...

 

Cette modification fonctionne à la fois sur delivery-slip.product-tab.tpl et sur invoice.product-tab.tpl

 

On peut aussi contraindre les caractéristiques affichées grâce à leur ID.

 

Dans mon cas, je voulais faire un retour à la ligne pour deux caractéristiques en affichant à la fois le nom et la valeur associée. 

Et afficher les trois autres caractéristiques à côté en affichant que la valeur. 

Ce qui donne : 

 

{assign var="defaultlang" value=(int)(Configuration::get('PS_LANG_DEFAULT'))}
{assign var="features" value=Product::getFrontFeaturesStatic($defaultlang, $order_detail.product_id)}
{foreach $features as $feature}
{if $feature.id_feature == 3}
{$feature.name} : {$feature.value} <br/>
{/if}
{if $feature.id_feature == 4}
{$feature.name} : {$feature.value} <br/>
{/if}
{if $feature.id_feature == 2}
{$feature.value} 
{/if}
{if $feature.id_feature == 1}
{$feature.value} 
{/if}
{if $feature.id_feature == 5}
{$feature.value} 
{/if}
{/foreach}
 
Le code est à insérer après
 
<td class="product left">
{if $display_product_images}
<table width="100%">
<tr>
<td width="15%">
{if isset($order_detail.image) && $order_detail.image->id}
{$order_detail.image_tag}
{/if}
</td>
<td width="5%"> </td>
<td width="80%">
{$order_detail.product_name}
</td>
</tr>
</table>
{else}
{$order_detail.product_name}</strong>
{/if}

 

 

Merci tuk66 d'avoir pris le temps de regarder. 

 

Bonne fin d'après-midi.

  • Like 1
Link to comment
Share on other sites

  • 2 months later...

Merci beaucoup !

J'ai l'impression que mes post autour des questions d'insertion des caractéristiques dans la fiche produit, le caddy etc, vous ont aidé, et maintenant, c'est votre post qui me sort de l'impasse ...

Il me fallait simplement mettre mon invoice.tpl et mon delivery.tpl modifié dans themes/montheme/pdf/ pour que l'insertion des lignes de code fonctionne .

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...