Jump to content
carl@easy-pharma.ca

Modification du delivery-slip.tpl pour afficher une phrase spécifique pour un transporteur spécifique dans la langue du client

Recommended Posts

Bonjour, 

je ne suis pas vraiment un developpeur, mais j'essaie!!! 

 

Je voudrais ajouter sur mes bon de livraison une phrase spécifique pour un transporteur spécifique. 

Donc si j'ai un client FR avec le transporteur X dont le id-carrier = 80 je voudrais afficher une phrase en dessous du bloc $payment_tab

Donc mon analyse actuelle est la suivante ... 

dans le delivery-slip.tpl du répertoire pdf, je modifie la section 

<tr>
        <td colspan="7" class="left">

            {$payment_tab}

        </td>
        <td colspan="5">&nbsp;</td>
    </tr>
 
    <!-- Hook -->
    {if isset($HOOK_DISPLAY_PDF)}

pour mettre un bloc communication transporteur 

    <tr>
        <td colspan="7" class="left">

            {$payment_tab}

        </td>
        <td colspan="5">&nbsp;</td>
    </tr>
        <!-- Communication transporteur -->
    <tr>
        <td colspan="7" class="left">
            {if isset($carrier.id_carrier) = `80`} 
                            <table style="width: 100%;">
                            <td class="center small white">{transporteur Marketplace}</td>
                    </table>
            {/if}
        </td>
        <td colspan="5">&nbsp;</td>
    </tr>
 
    <!-- Hook -->
    {if isset($HOOK_DISPLAY_PDF)}
 

Et pourtant j'obtiens une erreur 500 quand je veux produire mon pdf. 

Où est-ce que je me suis trompé dans mon code? 

 

Merci pour l'aide à un tout nouveau developer !!!!

Share this post


Link to post
Share on other sites

Pourquoi des parenthèses ici ? 

{transporteur Marketplace}

Il suffit de mettre <td class="center small white">transporteur Marketplace</td>

Share this post


Link to post
Share on other sites

et attention dans ta copie tu as mis `80` au lieu de '80' ou mieux 80

Share this post


Link to post
Share on other sites

Je suis toujours coincé avec un message d'erreur en mode debug 

 

Syntax error in template "file:/home/dev/web/dev.easy-pharma.ca/public_html/pdf/delivery-slip.tpl" on line 79 "{if isset($carrier.id_carrier) = 80}" - Unexpected " = ", expected one of: "}"

 

<tr>
        <td colspan="7" class="left">
            {if isset($carrier.id_carrier) = 80} 
                            <table style="width: 100%;">
                            <td class="center small white">transporteur Marketplace</td>
                    </table>
        <td colspan="5">&nbsp;</td>
    </tr>

 

Mais je n'ai pas encore trouvé comment ajouter le if pour la langue du client ou du pdf. 

SI FR alors texte = 1 

si EN alors texte = 2 

 

Merci!!!

 

Share this post


Link to post
Share on other sites

Vous comprenez ce que vous écrivez ?

{if isset($carrier.id_carrier) = 80} 

En français ça veut dire: si $carrier.id_carrier existe égal 80

  • Like 1

Share this post


Link to post
Share on other sites

{if isset($carrier.id_carrier)  && ($carrier.id_carrier == 80)} 

Share this post


Link to post
Share on other sites

OK super, je comprends mieux la logique maintenant, on combine est-ce qu'il existe et est-ce qu'il a une valeur de 80... 

 

Par contre maintenant l'erreur est sur l'array (c'est quoi l'Array?)

Cannot use object of type Carrier as array

Share this post


Link to post
Share on other sites

C'est le truc qu'on a tous entre les fesses :) 

 

  • Haha 1

Share this post


Link to post
Share on other sites

Blague à part, ici $carrier n'est pas un tableau (array) mais un objet donc il faut écrire

{if isset($carrier->id)  && ($carrier->id == 80)} 

 

Sauf que si vous modifiez ce transporteur (tranches, prix,...) son id va changer aussi donc il vaut mieux utiliser sa référence

Share this post


Link to post
Share on other sites

J'ai réussi à faire afficher une phrase sur mon bon de livraison si le nom du transporteur est égale à une certaine valeur.!!!

 

Maintenant il me reste à trouver comment identifier la langue qui est utilisée pour afficher le bon de livraison. 

Est-ce que c'est basé sur la langue du client ou la langue de l'utilisateur actif? 

 

 

Share this post


Link to post
Share on other sites

OK, mais comment je peux identifier cela, je ne pense pas que ce soit stocké dans la base de données de Prestashop. 

Est-ce que la langue du client est stockée quelque part? 

 

 

Share this post


Link to post
Share on other sites

oui dans l'objet Customer -> id_lang

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