2012-01-29 3 views
1

Ce que j'essaye de réaliser est de thématiser le format de prix de la façon suivante. Je veux seulement enlever les décimales quand ils sont 00.format de prix de la thématique en drupal ubercart

Par exemple € 5,00 devrait être 5 €, mais 5,50 € devrait rester le même, pas 5,5 €. I found a forum à propos de ce problème, mais je ne sais pas comment l'implémenter, en particulier en remplaçant theme_uc_product_price() comme suggéré here.

Répondre

0

Ces liens suggèrent d'utiliser soit le Computed Module champ ou une fonction Prétraitement mais il serait simple avec un peu de JQuery:

Disons que vous avez un div comme ceci:

<div class="field-price">€ 5,00</div> 

Vous pourriez puis cibler cet élément avec un remplacement:

$('.field-price:contains(",00")').html(function(i, h) { 
    return h.replace(/00/g, ''); 
});​ 

J'ai écrit une démo ici:

http://jsfiddle.net/JySHQ/1/

Remarque s'il vous plaît indiquer quelle version de Drupal que vous avez et je vous donne donner quelques conseils que la façon de mettre en œuvre que Javascript est différent dans Drupal 6 vs Drupal 7

+0

Salut, merci pour la réponse. J'utilise Drupal 6. Votre exemple semble vraiment utile. Je suis préoccupé par les utilisateurs sans javascript, car croyez-le ou non, selon les analyses près de 30% de mes visiteurs n'ont pas javascript activé. – user1031742

+0

Cela ressemble à un changement cosmétique plus que tout, puisque c'est Javascript, il va se dégrader gracieusement et montrer simplement les zéros de fin. J'ai regardé les autres solutions dans vos liens et ils ont semblé assez kludgy à implémenter donc je suis venu avec le Jquery. Si vous en avez besoin pour Drupal 6, faites le moi savoir et je mettrai du code ici aussi. –

+0

Si vous voulez être si gentil je demanderais un code redéfinissant theme_uc_product_price() comme suggéré par le mainteneur du projet ubercart. Je dirais que ce code sera très utile pour de nombreux commerçants européens qui n'ont pas besoin d'afficher des zéros. Merci beaucoup. – user1031742

Questions connexes