Fabrice Posted September 18, 2009 Share Posted September 18, 2009 je sais, c'est tout con : mais je cherche à ne pas afficher les centimes (dans product.tpl uniquement).on fait ça comment ?j'ai cherché.... mais pas trouvé ! merci d'avance !! Link to comment Share on other sites More sharing options...
ptidg Posted September 18, 2009 Share Posted September 18, 2009 Dans le back office : Paiement>devise>editer chaque devise pour enlever les décimales Link to comment Share on other sites More sharing options...
Fabrice Posted September 18, 2009 Author Share Posted September 18, 2009 non. tu n'as pas TOUT lu : je ne veux pas de décimales sur les product.tpl uniquement.donc uniquement des chiffres sans virgule dans les fiches produit.le reste doit rester avec ,00merci qd même... Link to comment Share on other sites More sharing options...
ningu Posted September 18, 2009 Share Posted September 18, 2009 Fabrice,Je n'ai pas testé, mais une solution devrait être la suivante :1/ dans product.tpl, remplacer tous les appels {convertPrice price=....} par {convertPriceWithoutDecimal price=...}2/ dans classes/Product.php, dupliquer la methode convertPrice en convertPriceWithoutDecimal.Changer l'appel Tools::displayPrice en Tools::displayPriceWithoutDecimal3/ dans classe/Tools.php, dupliquer la methode displayPrice en displayPriceWithoutDecimal.Remplacer $c_decimals = (is_array($currency) ...... par $c_decimals=0 Link to comment Share on other sites More sharing options...
Fabrice Posted September 18, 2009 Author Share Posted September 18, 2009 ah ! c'est trop sympa.je pensais que l'on pouvait "simplement" modifier l'affichage - à priori c'est un peu plus complexe. je vais tester.merci bcp !! Link to comment Share on other sites More sharing options...
ningu Posted September 18, 2009 Share Posted September 18, 2009 Ben, j'ai tenté de faire directement en Smarty, mais la doc est pas très explicite.L'idée que j'avais :{assign var='prix' value=convertPrice .... }et ensuite {$prix | regex_replace:"/[\.,]../":""}Mais je n'arrive pas à trouver la bonne syntaxe pour la premiere ligne, je ne sais même pas si c'est possible en Smarty.La deuxième, elle remplace '.' ou ',' et les 2 decimales par rien Link to comment Share on other sites More sharing options...
Fabrice Posted September 18, 2009 Author Share Posted September 18, 2009 il y en a deux qui a priori sont liées ?je ne duplique que la première ? static function convertPrice($params, &$smarty) { return Tools::displayPrice($params['price'], $smarty->ps_currency); } static function convertPriceWithCurrency($params, &$smarty) { if (!isset($params['convert'])) $params['convert'] = true; return Tools::displayPrice($params['price'], $params['currency'], false, $params['convert']); } Link to comment Share on other sites More sharing options...
ningu Posted September 18, 2009 Share Posted September 18, 2009 Oui, la premiere uniquement Link to comment Share on other sites More sharing options...
Fabrice Posted September 18, 2009 Author Share Posted September 18, 2009 Ben, j'ai tenté de faire directement en Smarty, mais la doc est pas très explicite.L'idée que j'avais :{assign var='prix' value=convertPrice .... }et ensuite {$prix | regex_replace:"/[\.,]../":""}Mais je n'arrive pas à trouver la bonne syntaxe pour la premiere ligne, je ne sais même pas si c'est possible en Smarty.La deuxième, elle remplace '.' ou ',' et les 2 decimales par rien oui, je pensais à un truc comme ça : remplacer les paramètres à la volée.si tu trouves, je suis archi-preneur.le fait est que l'arrondi ne fonctionne pas bien : si le client paye HT (étranger), le montant est arrondi.s'il paye via paypal : c'est ok. il a bien les centimes.mais via virement ou chèque : le prix est arrondi. c'est pas grand chose, mais y'en a qui risquent de râler... et tout ce qui est douteux... peut te faire louper une vente.donc mes fiches produits : arrondis, sans centimes, mais le récap panier par exemple et le reste (factures, commandes etc... avec les centimes).merci en tous cas pour ton aide. comme je suis nul en php etc... tu m'aides bien là !! Link to comment Share on other sites More sharing options...
ningu Posted September 18, 2009 Share Posted September 18, 2009 Bon,je vais me coucherJ'espère que ça marchera Link to comment Share on other sites More sharing options...
Fabrice Posted September 18, 2009 Author Share Posted September 18, 2009 erreur : Fatal error: Smarty error: [in /home/...../product.tpl line 250]: syntax error: unrecognized tag 'convertPriceWithoutDecimal' (Smarty_Compiler.class.php, line 590) in /home/...../tools/smarty/Smarty.class.php on line 1095c'est quoi d'après toi ? ça sentait bon le succès pourtant ! Link to comment Share on other sites More sharing options...
Fabrice Posted September 18, 2009 Author Share Posted September 18, 2009 ça doit être ça : /* if you modified this function, don't forget to modify the Javascript function formatCurrency (in tools.js) */ Link to comment Share on other sites More sharing options...
Fabrice Posted September 18, 2009 Author Share Posted September 18, 2009 y'a rien dans tools.js ... merdum! Link to comment Share on other sites More sharing options...
Fabrice Posted September 18, 2009 Author Share Posted September 18, 2009 si !c'était le tools.js qui est dans le thème. maintenant il me reste à trouver quoi changer... Link to comment Share on other sites More sharing options...
Fabrice Posted September 18, 2009 Author Share Posted September 18, 2009 bon, j'y arrive pas.j'ai toujours ce tag qui n'est pas reconnu :Fatal error: Smarty error: [in /home/...../product.tpl line 250]: syntax error: unrecognized tag 'convertPriceWithoutDecimal' (Smarty_Compiler.class.php, line 590) in /home/...../tools/smarty/Smarty.class.php on line 1095si t'as une piste... je suis client ! :-) je sent que t'es pas loin du résultat.bonne nuit,à demain. Link to comment Share on other sites More sharing options...
Fabrice Posted September 18, 2009 Author Share Posted September 18, 2009 à moins que tu ne trouves une méthode plus "à l'arrache" directement dans le code du tpl...genre "tu veux afficher ça ? ben non, affiches ça plutôt.."a+ Link to comment Share on other sites More sharing options...
ningu Posted September 19, 2009 Share Posted September 19, 2009 Ben voilà, à proposer des solutions sans tester avant....Dans le fichier init.php, au alentours de la ligne 91 ou 92, il faut dupliquer la ligne $smarty->register_function('convertPrice', array('Product', 'convertPrice'));et remplaceer convertPrice par convertPriceWithoutDecimal (aux 2 endroits)Et il ne faudra pas oublier de remodifier les fichiers si tu fais un upgrade .... Link to comment Share on other sites More sharing options...
ningu Posted September 23, 2009 Share Posted September 23, 2009 Salut Fabrice,Ca a marché finalement ?J'ai pas trouvé pour faire la modif directment dans Smarty. Link to comment Share on other sites More sharing options...
Fabrice Posted September 23, 2009 Author Share Posted September 23, 2009 elo !je n'ai pas eu le temps de faire le test final. bcp de taff et updaté en 1.2.4 final via SVN)pour le moment j'ai tout à xx euros, sans les virgules. (paramètre générique dans le BO)je vais tester demain et te dirais ;-)merci en tous cas pour ton aide !! 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