kerlin Posted November 2, 2019 Share Posted November 2, 2019 (edited) Bonjour, Confrontée comme beaucoup au souci de l'incapacité de PS d'accepter des commandes de produits gratuits, j'ai fait des recherches sur le Net et ai vu qu'une solution possible serait de cloner le module de paiement par chèque et de le modifier . Eolia avait concocté quelque chose dans ce sens en 2015 mais hélas a retiré son module. C'était pour PS 1.6 mais je me serais basée dessus pour voir comment modifier celui de PS 1.7 (le site est sur 1.7.5.2) Son module était renommé genericpaiement, pour ma part, j'ai cloné le module en l'appelant ps_freeorder et j'ai modifié à l'intérieur en remplaçant checkpaiement par freeorder. Ensuite je l'ai installé. Ayant modifié les termes à traduire pour les faire correspondre à mes attentes, et pour ne pas empiéter sur les traductions du module initial, j'ai modifié les appels de traduction. Par exemple $this->displayName = $this->trans('Payment by check'), array(), 'Modules.Checkpayment.Admin'); est devenu $this->displayName = $this->trans('Free orders', array(), 'Modules.Freeorder.Admin'); mais j'ai beau chercher partout dans Internationalisation -> Traduction -> back-office, je ne trouve pas "free orders" J'ai cherché dans la doc (qui dit que cette méthode est pour 1.7.6 et supérieur mais qui manifestement est déjà utilisé sur 1.7.5.2, version de mon site). Il me semble avoir bien respecté les règles en ne mettant pas le ps_ qui est dans le nom de mon module, et en mettant une majuscule sur la première lettre. Quelle est l'astuce pour que cela fonctionne ? Si je remets les traductions avec checkpayment, si le module originel est désinstallé, est-ce que cela supprime les traductions ? [edit]Pour modifier le texte dans la config de mon module ps_freeorder, je vois qu'en fait c'est dans le fichier infos.tpl ou j'ai mis : <p><strong>{l s="This module allows free orders" d='Modules.Freeorder.Admin'}</strong></p> Je pourrais bien sûr mettre tout en français dans le code mais c'est moins "joli" ... [/edit] Merci d'avance Edited November 2, 2019 by kerlin ajout (see edit history) Link to comment Share on other sites More sharing options...
kerlin Posted November 2, 2019 Author Share Posted November 2, 2019 J'ai trouvé. La méthode utilisée ne fonctionne que pour les modules du Core ou natifs. Même si c'est un clone, mon module est considéré comme 3thparty. La phrase à traduire doit donc être écrite comme ceci : {l s="Blabla to translate" mod='nom_module'} Et là ça semble fonctionner. 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