Jump to content

( Résolu ) modification du bon de livraison


Recommended Posts

Bonjour à tous,

Version de PS : v1.7.7.4
Thème (défaut/perso) : perso
Hébergement : OVH
Version de PHP : 7.3

 

J'ai modifié le fichier "delivery-slip.product-tab.tpl" dans le but d'ajouter une colonne "EAN" au tableau existant dans le bon de livraison, ce qui fonctionne très bien, par contre je n'arrive pas à récupérer les code EAN13 des déclinaisons pour les mettre dans la colonne.

Voilà le code :

<table class="product" width="100%" cellpadding="4" cellspacing="0">
    <thead>
        <tr>
            <th class="product header small" width="15%">{l s='Reference' d='Shop.Pdf' pdf='true'}</th>
            <th class="product header small" width="15%">{l s='EAN' d='Shop.Pdf' pdf='true'}</th>
            <th class="product header small" width="55%">{l s='Product' d='Shop.Pdf' pdf='true'}</th>
            <th class="product header small" width="15%">{l s='Qty' d='Shop.Pdf' 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}">
                <td class="product left">
                    {if empty($order_detail.product_reference)}
                        ---
                    {else}
                        {$order_detail.product_reference}
                    {/if}
                </td>
                <td class="product center">
                    {if isset($order_detail.product_attribute.id)}
                        {assign var='ean13' value=''}
                        {foreach $ean13_results as $ean13_result}
                            {if $ean13_result.id_product_attribute == $order_detail.product_attribute.id}
                                {assign var='ean13' value=$ean13_result.ean13}
                            {/if}
                        {/foreach}
                        {if $ean13}
                            {$ean13}
                        {else}
                            ---
                        {/if}
                    {else}
                        ---
                    {/if}
                </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>
                <td class="product center">
                    {$order_detail.product_quantity}
                </td>
            </tr>
            {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[Product::CUSTOMIZE_TEXTFIELD]) && count($customization.datas[Product::CUSTOMIZE_TEXTFIELD]) > 0}
                                <table style="width: 100%;">
                                    {foreach $customization.datas[Product::CUSTOMIZE_TEXTFIELD] as $customization_infos}
                                        <tr>
                                            <td style="width: 30%;">
                                                {$customization_infos.name|string_format:{l s='%s:' d='Shop.Pdf' pdf='true'}}
                                            </td>
                                            <td>{$customization_infos.value}</td>
                                        </tr>
                                    {/foreach}
                                </table>
                            {/if}
                            {if isset($customization.datas[Product::CUSTOMIZE_FILE]) && count($customization.datas[Product::CUSTOMIZE_FILE]) > 0}
                                <table style="width: 100%;">
                                    <tr>
                                        <td style="width: 30%;">{l s='image(s):' d='Shop.Pdf' pdf='true'}</td>
                                        <td>{count($customization.datas[Product::CUSTOMIZE_FILE])}</td>
                                    </tr>
                                </table>
                            {/if}
                        </td>
                        <td class="center">
                            ({if $customization.quantity == 0}1{else}{$customization.quantity}{/if})
                        </td>
                    </tr>
                {/foreach}
            {/foreach}
        {/foreach}
        <!-- END PRODUCTS -->
    </tbody>
</table>

 

Je m'arrache les cheveux depuis quelque temps, je vous serez vraiment reconnaissant de me retirer cette épine du pied...

Je vous remercie,

 

Julien

Edited by Julien.G (see edit history)
Link to comment
Share on other sites

Je viens d'essayer avec ce code mais il affiche "---" à la place du code barre pour indiquer qu'il n'a pas l'information

 

<table class="product" width="100%" cellpadding="4" cellspacing="0">
    <thead>
        <tr>
            <th class="product header small" width="15%">{l s='Reference' d='Shop.Pdf' pdf='true'}</th>
            <th class="product header small" width="15%">{l s='EAN' d='Shop.Pdf' pdf='true'}</th>
            <th class="product header small" width="55%">{l s='Product' d='Shop.Pdf' pdf='true'}</th>
            <th class="product header small" width="15%">{l s='Qty' d='Shop.Pdf' 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}">
                <td class="product left">
                    {if empty($order_detail.product_reference)}
                        ---
                    {else}
                        {$order_detail.product_reference}
                    {/if}
                </td>
                <td class="product center">
                    {if isset($order_detail.product_ean13)}
                        {assign var='ean13' value=''}
                        {foreach $ean13_results as $ean13_result}
                            {if $ean13_result.id_product_attribute == $order_detail.product_attribute.id}
                                {assign var='ean13' value=$ean13_result.ean13}
                            {/if}
                        {/foreach}
                        {if $ean13}
                            {$ean13}
                        {else}
                            ---
                        {/if}
                    {else}
                        ---
                    {/if}
                </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>
                <td class="product center">
                    {$order_detail.product_quantity}
                </td>
            </tr>
            {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[Product::CUSTOMIZE_TEXTFIELD]) && count($customization.datas[Product::CUSTOMIZE_TEXTFIELD]) > 0}
                                <table style="width: 100%;">
                                    {foreach $customization.datas[Product::CUSTOMIZE_TEXTFIELD] as $customization_infos}
                                        <tr>
                                            <td style="width: 30%;">
                                                {$customization_infos.name|string_format:{l s='%s:' d='Shop.Pdf' pdf='true'}}
                                            </td>
                                            <td>{$customization_infos.value}</td>
                                        </tr>
                                    {/foreach}
                                </table>
                            {/if}
                            {if isset($customization.datas[Product::CUSTOMIZE_FILE]) && count($customization.datas[Product::CUSTOMIZE_FILE]) > 0}
                                <table style="width: 100%;">
                                    <tr>
                                        <td style="width: 30%;">{l s='image(s):' d='Shop.Pdf' pdf='true'}</td>
                                        <td>{count($customization.datas[Product::CUSTOMIZE_FILE])}</td>
                                    </tr>
                                </table>
                            {/if}
                        </td>
                        <td class="center">
                            ({if $customization.quantity == 0}1{else}{$customization.quantity}{/if})
                        </td>
                    </tr>
                {/foreach}
            {/foreach}
        {/foreach}
        <!-- END PRODUCTS -->
    </tbody>
</table>

 

Link to comment
Share on other sites

  • Julien.G changed the title to ( Résolu ) modification du bon de livraison

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