2012-01-29 2 views
1

То, что я пытаюсь достичь, - это указать формат цены следующим образом. Я хочу только удалить десятичные знаки, когда они 00.формат цены на тематику в drupal ubercart

Например, € 5,00 должно быть 5 евро, но 5,50 евро должно оставаться неизменным, а не 5,5 евро. I found a forum об этой проблеме, но я не знаю, как ее реализовать, особенно переопределяя theme_uc_product_price() как предложено here.

ответ

0

Эти ссылки предлагают использовать либо модуль вычисляемое поле или функцию Preprocess, но это было бы просто с немного JQuery:

Допустим, у вас есть DIV так:

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

Вы могли бы то цель, что элемент с замены:

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

Я написал демо здесь:

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

Примечание просьба указать, какая версия Drupal у вас есть, и тогда я дам вам несколько советов о том, как реализовать, так как Javascript отличается Drupal 6 по сравнению с Drupal 7

+0

Привет, спасибо за ответ. Я использую drupal 6. Ваш пример выглядит действительно полезным. Меня беспокоят пользователи без javascript, потому что верьте или нет, согласно аналитике почти 30% моих посетителей не поддерживают javascript. – user1031742

+0

Это похоже на косметическое изменение больше, чем что-либо, так как это Javascript, он будет деградировать изящно и просто показать конечные нули. Я посмотрел на другие решения в ваших ссылках, и они казались довольно глупыми для реализации, поэтому я придумал JQuery. Если вам это нужно для Drupal 6, дайте мне знать, и я также добавлю код. –

+0

Если бы вы были добрыми, я бы попросил код, переопределяющий тему_uc_product_price(), как предложил разработчик проекта ubercart. Я бы сказал, что этот код будет очень полезен для многих владельцев европейских магазинов, которым не нужно отображать конечные нули. Большое спасибо. – user1031742