Jump to content

Cash on delivery - Changer le titre


parvati

Recommended Posts

Bonjour,

Un problème que tout le monde rencontre ou presque (dû au fait que Prestashop ne permet pas de créer des moyens de règlement...) transformer le module cash on delivery en règlement sur facture.

J'ai fait le tour des solutions que je connais: modifier les textes du fichier /modules/cashondelivery/translation/fr.php aucun résultat. Modifié les traductions dans le back-office "localisation-traductions-traduction des modules installés-coeur et français. J'ai modifié toutes les phrases. Aucun changement... Ensuite, j'ai fait les mêmes modifications que dans "coeur" mais dans les thèmes default et dans default-bootstrap (celui que j'utilise), histoire de voir. Résultat, les textes de la page "Récapitulatif de commande" ont enfin changé !! Par contre, le texte de la page "Choisissez votre moyen de paiement (le plus important) est toujours le même: "Payer comptant à la livraison (Vous payez lors de la livraison de votre commande)"

Franchement, cette situation commence nettement à me fatiguer. Si quelqu'un a une idée qu'il n'hésite pas...

Olivier

Link to comment
Share on other sites

Il n'y a rien à modifier dans le Core, vous pouvez juste vous servir du sytème de traduction.

localisation / traductions / traduction des modules installés / votretheme

si votre theme surcharge le tpl du module alors la modif que vous avez faite en traduction sur Core ne peut pas être visible en front.

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

OK, mais d'où sort cette phrase "Payer comptant à la livraison (Vous payez lors de la livraison de votre commande)". Car dans les phrases à traduire (localisation / traductions / traduction des modules installés / votretheme) je ne la trouve pas !!

Link to comment
Share on other sites

c'est en 2 phrases

du moins sur la v0.4, après c'est peut etre différent suivant les versions.

 

Dans tous les cas quand vous avez sur la liste des traductions, recherchez "Module cashondelivery"

puis dans cette section cherchez les traductions du tpl payment

Vous verrez ce qui est traductible dans le hook payment pour ce module

Link to comment
Share on other sites

  • 4 months later...

Bonjour 

 

Idem que toi Alexandre.

 

Il y a des traductions que l'on peut changer, mais le titre dans la page de commande est toujours "Pay by CashonDelivery".

 

J'ai donc été voir dans le fichier www/modules/ps_cashondelivery/ps_cashondelivery.php et j'ai remplacé la ligne

 ->setCallToActionText($this->trans('Pay by CashonDelivery', array(), 'Modules.Cashondelivery.Shop'))   
par
 ->setCallToActionText($this->trans('Payer lors de la réception de la marchandise', array(), 'Modules.Cashondelivery.Shop'))
   
 
Le libellé est donc ok maintenant mais ça veut dire que ce sera toujours en francais.
Il reste donc ce petit souci si ton site est multilingue.
 
     
 
Link to comment
Share on other sites

Bonjour loupiloop,

 

Merci pour ta réponse ! Je vais déjà effectuer cette modification.

 

J'hésite carrément à mettre la phrase dans les trois langues d'ici à ce que je trouve comment faire en sorte que le texte s'adapte en fonction de la langue.

 

N'y a-t-il pas moyen d'utiliser le système de traduction de la v1.7 maintenant que nous avons identifié où il faut faire la modification ??

 

Je viens d'effectuer une recherche sur internet et je vais essayer d'implémenter la méthode décrite sur cette page :

 

http://developers.prestashop.com/module/05-CreatingAPrestaShop17Module/06-ModuleTranslation.html?highlight=translation

Link to comment
Share on other sites

Voici la solution que j'ai trouvé pour ma boutique multilingue.

 

Il faut malheureusement modifié le fichier /modules/ps_cashondelivery/ps_cashondelivery.php , je n'ai pas su faire autrement.

 

Si quelqu'un trouve mieux, sans modifier les fichiers standards, je suis preneur !

 

J'ai regardé comment fonctionnait la traduction du texte descriptif qui apparaît correctement en-dessous, lorsqu'on sélectionne le moyen de paiement "COD".

 

1. J'ai créé un nouveau fichier ps_cashondelivery_header.tpl dans le dossier /modules/ps_cashondelivery/views/templates/hook/ dans lequel j'ai placé la ligne de code suivante :

{l s='Pay cash on delivery (COD)' mod='ps_cashondelivery'}

2. Dans la ligne de code : 

->setCallToActionText($this->trans('Pay by CashonDelivery', array(), 'Modules.Cashondelivery.Shop'))

J'ai remplacé :

$this->trans('Pay by CashonDelivery', array(), 'Modules.Cashondelivery.Shop')

Par :

$this->fetch('module:ps_cashondelivery/views/templates/hook/ps_cashondelivery_header.tpl')

Et ça marche ! Je retrouve bien mon texte de base en anglais à traduire dans mes deux autres langues dans la section traduction du back-office.

 

post-1349712-0-44138400-1490451004_thumb.png

 

post-1349712-0-61172200-1490450988_thumb.png

 

 

 

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