Mahfouzh Posted September 14, 2017 Share Posted September 14, 2017 (edited) Bonjour à tous, J'aimerais pouvoir utiliser les bons de livraison que génère PS pour lire et comprendre ce que veut acheter mon client. J'ai besoin pour cela que les informations indiquées dans le bon de livraison soient toujours dans ma langue. Par défaut le bon de livraison régit de la façon suivante : Les informations générales (comme les titres des colonnes etc... ) sont bien dans la langue du back-office mais les informations du produit (nom, déclinaisons) sont toujours dans la langue choisie par le client lors de sa commande. Ce qui fait que l'on se retrouve avec un bon de livraison moitié français / moitié anglais, et bien sûr l'information la plus importante (le nom du produit) n'est pas dans la bonne langue. Comment faire pour avoir l'intégralité du bon de livraison dans une seule langue ? Merci beaucoup pour ceux qui prendront le temps de me lire, et de m'aider Edited September 14, 2017 by Mahfouzh (see edit history) Link to comment Share on other sites More sharing options...
doekia Posted September 14, 2017 Share Posted September 14, 2017 Ces informations (nom du produit) sont issue de la table ps_order_detail utilisé comme tu le vois pour la facture et le BL que le client peut consulter sur son compte. Il faut donc bien que cela parle dans sa langue. Quand tu es sur la page BO de la commande tu clique le produit, cela te mène à la fiche produit dans la langue de ton BO Sinon il te faut développer un reporting spécial pour atteindre ton but Link to comment Share on other sites More sharing options...
Mahfouzh Posted September 14, 2017 Author Share Posted September 14, 2017 Merci pour votre reponse, Mais en fait pour notre logistique et les preparateurs des commandes on a besoin que le bon de livraison soit en français pas dans la langue du client, Link to comment Share on other sites More sharing options...
doekia Posted September 14, 2017 Share Posted September 14, 2017 Oui mais le client a besoin de voir sa commande dans sa langue. Il ne te reste plus qu'a développer un reporting spécial pour ta logistique Link to comment Share on other sites More sharing options...
Mahfouzh Posted September 14, 2017 Author Share Posted September 14, 2017 D'accord merci, mais on ne peut pas forcer pour le bon de livraison? qu'il reste en français? Link to comment Share on other sites More sharing options...
doekia Posted September 14, 2017 Share Posted September 14, 2017 Relis Link to comment Share on other sites More sharing options...
tuk66 Posted September 20, 2017 Share Posted September 20, 2017 Le module M4 PDF Extensions vous permet de choisir la langue de tout document PDF imprimé, le bordereau de livraison comprenant. Vous pouvez choisir précisément quelles sorties PDF originales seront remplacées. The M4 PDF Extensions module allows you to choose language of any printed PDF document, delivery slip including. You can precisely choose what original PDF outputs will be replaced. https://www.presta-addons.com/en/modules/3-pdf-extensions.html Link to comment Share on other sites More sharing options...
yann viroulaud Posted October 15, 2018 Share Posted October 15, 2018 Attention... M4 ne traduit que les termes globaux. Ca ne fait pas la translation de la description produit en langue d'origine du shop.... Je viens de perdre 100€. Nice Link to comment Share on other sites More sharing options...
tuk66 Posted October 15, 2018 Share Posted October 15, 2018 Vous avez pas. Vous voulez peut-être dire le nom du produit dans la commande (comme: Hummingbird printed t-shirt - Color : White, Size : S). Ce nom est toujours stocké dans la langue du client (la langue de la commande si vous le souhaitez). C'est le cas depuis le début de PrestaShop. Ce module traduit donc tous les textes de la facture de manière transparente. Vous devez modifier le modèle pour imprimer le nom du produit actif au lieu du nom du produit stocké dans la base de données (table ps_order_detail). Je l'ai fait plusieurs fois et cela permet également d'utiliser plusieurs langues à la fois pour les éléments de commande. [ENG] You didn't. You perhaps mean the product name in the order (like: Hummingbird printed t-shirt - Color : White, Size : S). This name is always stored in the customer language (the order language if you want). It is been so from the beginning of PrestaShop. So this module translates all texts on the invoice seamlessly. You must change the template to print the live product name instead of the the product name stored in the database (ps_order_detail table). I did it many times and it also enables more than one language at once on order detail items. Link to comment Share on other sites More sharing options...
yann viroulaud Posted October 15, 2018 Share Posted October 15, 2018 Et donc comment fait on de manière effective ? ( prestashop 1.7 ) C'est la question de base, a laquelle vous n'avez donc que répondu à moitié. et cela reviens donc aux premières réponses disponibles. Maintenant si il existe un moyen d'overrider les fichiers pdf pour associer non pas l'order product mais le product d'origine, quel est donc le code a fournir ? Cordialement Link to comment Share on other sites More sharing options...
tuk66 Posted October 15, 2018 Share Posted October 15, 2018 Remplacer {$order[orders].order_detail[detail].product_name|escape:'htmlall':'UTF-8'} avec {$order[orders].order_detail[detail].product.name|escape:'htmlall':'UTF-8'} pour imprimer le nom du produit actuel (pas les combinaisons). 1 Link to comment Share on other sites More sharing options...
yann viroulaud Posted October 15, 2018 Share Posted October 15, 2018 Merci pour cette réponse. En revanche j'ai un soucis. Nous utilisons une méthode d'affichage d'information supplémentaire dans le cas d'un produit configurable : {foreach $order_detail.customizedDatas as $customizationPerAddress} {foreach $customizationPerAddress as $customizationId => $customization} <tr class="customization_data {$bgcolor_class}"> <td class="center"> </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'[spam-filter] </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} Or malheureusement ce code n'est pas re-exploitable avec la surcouche de votre modéle. Auriez vous une idée ? Link to comment Share on other sites More sharing options...
tuk66 Posted October 15, 2018 Share Posted October 15, 2018 Utilisez le modèle de débogage pour voir toutes les données disponibles. Use the Debug template to see all available data. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now