Jump to content
lennynero

Ajouter % remise sur facture (RÉSOLU)

Recommended Posts

Posted (edited)

Bonjour,

Je suis sur PS 1.6.1.22

Je voudrais ajouter le % de remise sur la facture et conserver le prix de base, et n'afficher  le % que lorsqu'une remise est appliquée.

J'ai commencé sur le fichier "invoice.product-tab.tpl" mais je bloque je n'ai plus le prix de base quand il n'y a pas de remise

Voici un exemple qui sera plus clair que de longues explications

 

merci de votre aide

et prenez soins de vous

facture PS 1.6.1.22.jpg

Edited by lennynero (see edit history)

Share this post


Link to post
Share on other sites

Bonjour, il faut faire un test dans le template sur les variable et faire un affichage conditionnel avec {if xxx}{/if}.

Share this post


Link to post
Share on other sites

Bonjour,

Voici mon fichier tpl:

<table class="product" width="100%" cellpadding="4" cellspacing="0">

    <thead>
    <tr>
        <th class="product header small" width="{$layout.reference.width}%">{l s='Reference' pdf='true'}</th>
        <th class="product header small" width="{$layout.product.width}%">{l s='Product' pdf='true'}</th>
        
        {if isset($layout.before_discount)}
            <th class="product header small" width="{$layout.unit_price_tax_excl.width}%">{l s='Base price' pdf='true'} <br /> {l s='(Tax excl.)' pdf='true'}</th>
        {/if}
        
        <th class="product header small" width="{$layout.discount.width}%">{l s='Discount' pdf='true'}</th>
        <th class="product header-right small" width="{$layout.unit_price_tax_excl.width}%">{l s='Unit Price' pdf='true'} <br /> {l s='(Tax excl.)' pdf='true'}</th>
        <th class="product header small" width="{$layout.quantity.width}%">{l s='Qty' pdf='true'}</th>
        <th class="product header-right small" width="{$layout.total_tax_excl.width}%">{l s='Total' pdf='true'} <br /> {l s='(Tax excl.)' pdf='true'}</th>
    </tr>
    </thead>

    <tbody>

        <!--------- PRODUCTS --------------->
        
    {foreach $order_details as $order_detail}
        {cycle values=["color_line_even", "color_line_odd"] assign=bgcolor_class}
        <tr class="product {$bgcolor_class}">
        
        <!---------------- REFERENCE / IMAGE ---------->
        
            <td class="product center">
                {$order_detail.product_reference}
            </td>
            <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%">&nbsp;</td>
                            <td width="80%">
                                {$order_detail.product_name}
                            </td>
                        </tr>
                    </table>
                {else}
                    {$order_detail.product_name}
                {/if}

            </td>
        <!---------------- PRIX DE BASE ---------->
        
                {if isset($layout.before_discount)}
                <td class="product center">
                    {if isset($order_detail.unit_price_tax_excl_before_specific_price)}
                        {displayPrice currency=$order->id_currency price=$order_detail.unit_price_tax_excl_before_specific_price}
                    {else}
                        --
                    {/if}
                </td>
            {/if}

        <!---------------- REMISE % ---------->    
        
                {if isset($layout.discount)}
            <td class="product center">    
                {$order_detail['reduction_percent']} {l s='%' pdf='true'}
            
            {else}
                        
            {/if}
            </td>    
        
        <!---------------- PRIX UNITAIRE / ECOTAXE ---------->
        
            <td class="product right">
                {displayPrice currency=$order->id_currency price=$order_detail.unit_price_tax_excl_including_ecotax}
                {if $order_detail.ecotax_tax_excl > 0}
                    <br>
                    <small>{{displayPrice currency=$order->id_currency price=$order_detail.ecotax_tax_excl}|string_format:{l s='ecotax: %s' pdf='true'}}</small>
                {/if}
            </td>
        <!---------------- QUANTITE ---------->        
            
            <td class="product center">
                {$order_detail.product_quantity}
            </td>
            <td  class="product right">
                {displayPrice currency=$order->id_currency price=$order_detail.total_price_tax_excl_including_ecotax}
            </td>
        </tr>
        <!---------------- CUSTOMISATION FICHIER DANS BO  ---------->
        
        {foreach $order_detail.customizedDatas as $customizationPerAddress}
            {foreach $customizationPerAddress as $customizationId => $customization}
                <tr class="customization_data {$bgcolor_class}">
                    <td class="center"> &nbsp;</td>

                    <td>
                        {if isset($customization.datas[$smarty.const._CUSTOMIZE_TEXTFIELD_]) && count($customization.datas[$smarty.const._CUSTOMIZE_TEXTFIELD_]) > 0}
                            <table style="width: 100%;">
                                {foreach $customization.datas[$smarty.const._CUSTOMIZE_TEXTFIELD_] as $customization_infos}
                                    <tr>
                                        <td style="width: 30%;">
                                            {$customization_infos.name|string_format:{l s='%s:' pdf='true'}}
                                        </td>
                                        <td>{$customization_infos.value}</td>
                                    </tr>
                                {/foreach}
                            </table>
                        {/if}

                        {if isset($customization.datas[$smarty.const._CUSTOMIZE_FILE_]) && count($customization.datas[$smarty.const._CUSTOMIZE_FILE_]) > 0}
                            <table style="width: 100%;">
                                <tr>
                                    <td style="width: 70%;">{l s='image(s):' pdf='true'}</td>
                                    <td>{count($customization.datas[$smarty.const._CUSTOMIZE_FILE_])}</td>
                                </tr>
                            </table>
                        {/if}
                    </td>

                    <td class="center">
                        ({if $customization.quantity == 0}1{else}{$customization.quantity}{/if})
                    </td>

                    {assign var=end value=($layout._colCount-3)}
                    {for $var=0 to $end}
                        <td class="center">
                            --
                        </td>
                    {/for}

                </tr>
                <!--if !$smarty.foreach.custo_foreach.last-->
            {/foreach}
        {/foreach}
    {/foreach}
    <!---------------- END PRODUCTS -------------->

    <!-- CART RULES -->

    {assign var="shipping_discount_tax_incl" value="0"}
    {foreach from=$cart_rules item=cart_rule name="cart_rules_loop"}
        {if $smarty.foreach.cart_rules_loop.first}
        <tr class="discount">
            <th class="header" colspan="{$layout._colCount}">
                {l s='Discounts' pdf='true'}
            </th>
        </tr>
        {/if}
        <tr class="discount">
            <td class="white right" colspan="{$layout._colCount - 1}">
                {$cart_rule.name}
            </td>
            <td class="right white">
                - {displayPrice currency=$order->id_currency price=$cart_rule.value_tax_excl}
            </td>
        </tr>
    {/foreach}

    </tbody>

</table>

J'ai buguer où d'après toi?

Merci

 

Share this post


Link to post
Share on other sites

Bonjour,

Personne pour un coup de main svp.

Merci de votre aide

Share this post


Link to post
Share on other sites

Essaye

{if isset($order_detail.unit_price_tax_excl_before_specific_price) && $order_detail.unit_price_tax_excl_before_specific_price>0}
	{displayPrice currency=$order->id_currency price=$order_detail.unit_price_tax_excl_before_specific_price}
{else}
	{displayPrice currency=$order->id_currency price=$order_detail.unit_price_tax_excl_including_ecotax}
{/if}

 

Share this post


Link to post
Share on other sites
Posted (edited)

Désolé je me suis concentré sur la remise et pas sur le prix de base.

Pour cela c'est OK je te  remercie, mais je n'arrive pas a trouver comment mettre deux  "- -" s'il n'y a pas de remise à la place de 0.00% ?

voici ce que j’obtiens maintenant avec ton aide :

 

merci encore

Sans titre.jpg

Edited by lennynero (see edit history)

Share this post


Link to post
Share on other sites

Ok solution trouvée à mon problème.

Je partage le code si cela peut servir.

voici le résultat final :

1842930758_Sanstitre.thumb.jpg.c519dc406675e6b5c57758b7697e313b.jpg

Je joins également le fichier invoice.product-tab.tpl (version 1.6.1.22) je pense que cela fonctionne aussi pour d'autres versions non testé.

Bonne journée à vous tous

et prenez soins de vous

JLM

invoice.product-tab.tpl

Share this post


Link to post
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...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More