Jump to content

Modification Invoice.tpl : Afficher le nom du Code de Réduction


Recommended Posts

Bonjour !

Je fais à nouveau appel à votre aide sur un petit soucis que je rencontre, j'y suis presque mais il me reste une valeur à récupérer.

Je souhaite récupérer le nom du code promo qui a été utilisé. J'ai réussi à récupérer la réduction jusqu'ici mais pas le nom.

 

Je me place dans le invoice.tpl et je dois remplacer "LE NOM DU BON DE REDUCTION A PLACER ICI"

 

<table width="100%" id="body" border="0" cellpadding="0" cellspacing="0" style="margin:0;">

	<!-- Promo utilisée -->
	<tr>
		<td colspan="12">

		<!-- DEBUT LA OU DOIT APPARAITRE LE TEXTE : ex mail client $customer_email-->

			<table style="width: 100%">

			{if $order_invoice->total_discount_tax_incl > 0}
			<tr style="line-height:5px;">
				<td style="text-align: left; font-weight: bold">{l s='Code de réduction utilisé:' pdf='true'} :</td>
				<td style="text-align: left; font-weight: bold">LE NOM DU BON DE REDUCTION A PLACER ICI</td>
				<td style="width: 15%; text-align: left;">-{displayPrice currency=$order->id_currency price=($order_invoice->total_discount_tax_incl + $shipping_discount_tax_incl)}</td>
			</tr>
			{/if}

		</table>

		<!-- FIN LA OU DOIT APPARAITRE LE TEXTE-->

		</td>
	</tr>

	<tr>
		<td colspan="12" height="30">&nbsp;</td>
	</tr>

</table>

Si vous avez une idée du nom de la variable, je vous remercie !

 

Cordialement.

v2.JPG

Link to comment
Share on other sites

Salut,

Le template Invoice.tpl ne récupère que la table orders_details, laquelle ne comprend que la réduction %.

Le controller pour la page Orders utilise la fonction $order->getDiscounts si ça peut aider. Il faudrait ajouter cette info au controller des factures.

Par contre sur du 1.7 aucune idée d'où modifier le controller qui crée les factures...

  • Like 1
Link to comment
Share on other sites

Merci pour la réponse !

Normalement je dois aller fouiller dans /classes/pdf/HTMLTemplateInvoice.php 

Pour récupérer les messages j'avais fait ça dans $data = array( ... ) (~l.320)

'messages' => Message::getMessagesByOrderId($this->order->id),

Puis dans mon invoice.tpl 

<div style="line-height: 1pt">Messages :</div>
<table style="width: 100%">

{assign var=messages value=Message::getMessagesByCartId($order->id_cart)}
{foreach $messages as $message}
<tr>
 <td style="width: 15%"></td>
 <td style="width: 85%">{$message.message|nl2br}</td>
</tr>
{/foreach}
</table>

 

Du coup je dois comprendre comment fonctionne la fonction $order->getDiscounts et ce que je dois  récupérer...

Link to comment
Share on other sites

Bonjour, malheureusement cela ne fonctionne pas.

J'ai d'abord modifié mon HTMLTemplateInvoice.php

'discounts' => Discount::getDiscountsByCartId($this->order->id),

(ainsi que avec ByOrderID ça ne fonctionne pas non plus)

 

J'ai une erreur (la facture n'est pas dégénérée).

 

Et ce, même si dans invoice.tpl je place :

<table style="width: 100%">

{assign var=discounts value=Discount::getDiscountsByCartId($order->id_cart)}
{foreach $discounts as $discount}
<tr>
 <td style="width: 15%"></td>
 <td style="width: 85%">{$discount.discount|nl2br}</td>
</tr>
{/foreach}
</table>

 

Vraiment pas facile de récupérer cet intitulé 🤕.

Edited by Kevin Rolin-Benitez (see edit history)
Link to comment
Share on other sites

Sur une version 1.7.4.2 vierge, en utilisant le code suivant dans le invoice.tpl j'obtiens le ou les nom(s) des codes promos utilisés lors de la commande, ainsi que le montant HT et TTC appliqué par le code :

{foreach from=$cart_rules item=cart_rule}
	{$cart_rule.name} //Nom du code
	{displayPrice currency=$order->id_currency price=$cart_rule.value_tax_excl} //Réduction HT
	{displayPrice currency=$order->id_currency price=$cart_rule.value} //Réduction TTC
{/foreach}

Ça ne marche pas pour toi ?

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