Jump to content

ne pas afficher les prix les chiffres après la virgule ?


Fabrice

Recommended Posts

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::displayPriceWithoutDecimal

3/ 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

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

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

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

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 1095

c'est quoi d'après toi ? ça sentait bon le succès pourtant !

Link to comment
Share on other sites

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 1095

si 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

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

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

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