Jump to content

Ajouter % remise sur facture (RÉSOLU)


Recommended Posts

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)
Link to comment
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

 

Link to comment
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}

 

Link to comment
Share on other sites

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