Jump to content

Afficher la référence de l'article ainsi que la référence de la déclinaison sur la page de commande [RESOLU]


Recommended Posts

Bonjour à tous,

Je suis en Prestashop 1.6.1.17.
J'ai par exemple un article de référence est "001" de désignation "tringle à rideau".
Il a une déclinaison de référence 002 "avec rallonge", cette déclinaison rajoute 3€ au prix et 50gr en impacte de poids.

Dans la page commande seule la référence de la déclinaison (en l'occurrence 002), en préparant la commande oni fait souvent l'erreur de ne pas mettre dans le colis la référence "001".

Comment afficher dans la page de commande la référence de l'article ainsi que la référence de la déclinaison ?

J'ai bien vu quel fichier était concerné :

admin/themes/defaut/template/controlers/orders/_product_line.tpl

j'ai vu où la référence est affichée dans le code :


 

<a href="{$link->getAdminLink('AdminProducts')|escape:'html':'UTF-8'}&amp;id_product={$product['product_id']|intval}&amp;updateproduct&amp;token={getAdminToken tab='AdminProducts'}">
            <span class="productName">{$product['product_name']}</span><br />           
            {if $product.product_reference}{l s='References:'} {$product.product_reference}<br />{/if}                              
        </a>

Est-ce-que quelqu'un pourrait m'aider à rajouter le micro bout de code. J'ai tenté pas mal de choses sans succès.

Je vous remercie par avance,

++



 

 

Edited by Grouik (see edit history)
Link to comment
Share on other sites

Vous pouvez mettre <pre>{var_dump($product)}</pre> dans ce fichier pour voir tous les paramètres dispos (qui viennent de la fonction order->getProducts() )

Celle que vous cherchez s'appelle simplement "reference", donc {$product.reference} fera l'affaire ;) 

Link to comment
Share on other sites

la meilleure solution serait celle-ci:

{if $product.product_reference || $product.reference}{l s='Reference number'}: {if $product.reference && ($product.reference != $product.product_reference)}{$product.reference}{if $product.product_reference} - {/if}{/if}{$product.product_reference}<br />{/if}

 

Edited by Eolia (see edit history)
Link to comment
Share on other sites

Super merci beaucoup Eolia car en plus de répondre à ma question vous anticipez un soucis de double affichage, ça c'est la grande classe  !!!

J'ai rajouté quelques parenthèses car j'avais un soucis de syntaxe que je propose pour ceux qui auront la même demande.

{if ($product.product_reference || $product.reference)}{l s='Reference number'}: {if ($product.reference && ($product.reference != $product.product_reference))}{$product.reference}{if $product.product_reference} - {/if}{/if}{$product.product_reference}<br />{/if}

Merci encore.

Link to comment
Share on other sites

  • Grouik changed the title to Afficher la référence de l'article ainsi que la référence de la déclinaison sur la page de commande [RESOLU]
  • 7 months later...

Bonjour, je me permets écrire ici car mon besoin est à peu près similaire.

En revanche j'ai de mon côté un problème avec ce code car mes déclinaisons ont la même référence que celle du produit 😕.

En faite j'aimerais afficher un texte (warning) quand la commande contient une déclinaison. Iidéalement avec ce petit plus qui serait la condition : si cette déclinaison serait autre que celle par défaut.

Je ne sais pas si suis sur le bon topic, j'en ai sinon ouvert un autre ici :
 


Merci par avance :)

Link to comment
Share on other sites

Le plus simple à mettre en place est tout simplement d'indiquer une référence à vos déclinaisons. Cela vous permet plus de modularité, car si un article possède plusieurs déclinaisons (par exemple une paire de chaussure avec plusieurs pointures) cela vous permet de les distinguer plutôt qu'un "Warning" ...

Edited by Grouik (see edit history)
Link to comment
Share on other sites

Merci pour votre réponse. J'y ai effectivement songé et confirme que ce serait plus simple et plus propre... mais malheureusement j'ai trop de produits avec beaucoup trop de déclinaisons... ça me paraît donc pas faisable de toutes les modifier :(.

Link to comment
Share on other sites

il y a 1 minute, Asu34 a dit :

Merci pour votre réponse. J'y ai effectivement songé et confirme que ce serait plus simple et plus propre... mais malheureusement j'ai trop de produits avec beaucoup trop de déclinaisons... ça me paraît donc pas faisable de toutes les modifier :(.

Il n'y a pas de solution miracle pour corriger votre erreur.

Soit, vous modifiez manuellement chaque produit, soit vous trouvez une solution pour faire un traitement de masse qui va prendre une information pour l'ajouter proprement à votre référence de base.

 

Link to comment
Share on other sites

Sinon vous en reprenant les échanges de ce post, vous mettez ce code à la place, cela devrait gazer:

{if ($product.product_reference || $product.reference)}{l s='Ref'}: <span class="gras">{if ($product.reference && ($product.reference != $product.product_reference))}{$product.reference}{if $product.product_reference} - {/if}{/if}{l s='Warning'}<br />{/if}

Mais comme le dit Mediacom, avec un traitement de masse l'affaire est rapide et plus propre.  Si vous avez un module pour exporter vos articles en csv, ou si vous savez requêter votre base, les articles à déclinaison sont identifiables, vous pouvez leur rajouter des références en masse et réimporter (fonction native de Pretsashop)

 

Edited by Grouik (see edit history)
Link to comment
Share on other sites

25 minutes ago, Grouik said:

Sinon vous en reprenant les échanges de ce post, vous mettez ce code à la place, cela devrait gazer:

Merci pour ce bout de code, j'en avais essayé ainsi mais ça ne fonctionne pas, ça m'affiche le warning même sur les produits qui n'ont pas de déclinaison :(. Avec toujours mon problème des déclinaisons qui ont les mêmes références que celle de base du produit :(

Edited by Asu34 (see edit history)
Link to comment
Share on other sites

Désolé pour l'erreur je pense que cela devrait être mieux

 

{if ($product.product_reference || $product.reference)}{l s='Ref'}: <span class="gras">{if ($product.reference && ($product.reference != $product.product_reference))}{$product.reference}{if $product.product_reference} - {l s='Warning'}{/if}{/if}{$product.product_reference}<br />{/if}

 

Link to comment
Share on other sites

8 minutes ago, Grouik said:

Désolé pour l'erreur je pense que cela devrait être mieux

Merci pour votre aide :). Mais ça ne fonctionne pas vraiment avec mon cas qui est que mes déclinaisons ont la même référence que mon produit... Cette condition ne fonctionne donc pas :
 

...&& ($product.reference != $product.product_reference)...

car elles sont les mêmes :(.

Link to comment
Share on other sites

Le code proposé dans la prochaine version PhenixSuite:

{if $product.product_reference || $product.reference}{l s='Reference number'}: 
    {if $product.reference && ($product.reference != $product.product_reference)}
        {$product.reference}
        {if $product.product_reference} - {$product.product_reference}
        {elseif $product.product_attribute_id} => {l s="No combination reference"}
        {/if}
    {elseif $product.product_attribute_id && $product.reference && ($product.reference == $product.product_reference)}
    {$product.reference} => {l s="No combination reference"}
    {/if}
    <br/>
{/if}

 

Edited by Eolia (see edit history)
Link to comment
Share on other sites

3 hours ago, Eolia said:
{if $product.product_reference || $product.reference}{l s='Reference number'}: 
    {if $product.reference && ($product.reference != $product.product_reference)}
        {$product.reference}
        {if $product.product_reference} - {$product.product_reference}
        {elseif $product.product_attribute_id} => {l s="No combination reference"}
        {/if}
    {elseif $product.product_attribute_id && $product.reference && ($product.reference == $product.product_reference)}
    {$product.reference} => {l s="No combination reference"}
    {/if}
    <br/>
{/if}

Trop fort ! Merci infiniment !

Pour le fun un petit bonus aurait été arriver à différencier la déclinaison si elle est différente de celle par défaut ^^ :)

Link to comment
Share on other sites

Petit bonus +, je me demandais si c'était possible de faire un override de ce fichier ? J'ai tenté copié ce tpl dans :
{shop}/override/controllers/admin/templates/orders/_product_line.tpl

mais ça ne marche pas.

Je n'avais jamais essayé d'override sur le dossier admin je me demande si c'est possible du coup. 

Link to comment
Share on other sites

il y a 43 minutes, Asu34 a dit :

Si elle s'appelle @Eolia :)

Non, cela ne corrige pas votre erreur, cela trouve une solution à un problème qui ne devrait pas exister.

Le problème est toujours présent et la modification de vos références reste indispensable pour faire les choses convenablement et ne plus perdre du temps ou faire des erreurs sur vos commandes.

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