Jump to content
Mahfouzh

Langue Facture/Bon de livraison

Recommended Posts

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 by Mahfouzh (see edit history)

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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,

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

D'accord merci, mais on ne peut pas forcer pour le bon de livraison? qu'il reste en français?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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.

 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

  • Thanks 1

Share this post


Link to post
Share on other sites

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"> &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'[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 ?

Share this post


Link to post
Share on other sites

Utilisez le modèle de débogage pour voir toutes les données disponibles.

Use the Debug template to see all available data.

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