Jump to content

Разный стиль для цены и знака валюты


Recommended Posts

Здравствуйте, подскажите как на странице товара сделать разные стили для цены и знака валюты. Мне необходимо сделать для них разные размеры шрифта и разные цвета, а скрипт выводит цену и валюту одной строкой. Проще говоря, как можно знак валюты заключить  в отдельный <span> или <div>?

 

За отображение моего формата валюты отвечает следующий код:

 

classes/Tools.php 

case 2:
$ret = number_format($price, $c_decimals, ',', ' ').$blank.$c_char;
break;

и моя_тема/js/tools.js 

if (currencyFormat == 2)
    return (formatNumber(price, priceDisplayPrecision, ' ', ',') + blank + currencySign);

Из комментов в этих файлах понятно что изменения нужно вносить в них оба. Подскажите кто знает как это правильно сделать?

Link to comment
Share on other sites

<span class="sign">$</span><span class="price">100</span>

:)

 

Спасибо конечно, но Вы меня не правильно поняли. Примерно такой код как Вы указали мне и надо получить в конечном результате, но проблема заключается в том что в шаблоне переменная которая выводит цену не разделена на сумму и знак валюты: 

<span id="our_price_display">{convertPrice price=$productPrice}</span>

потому я не могу просто прописать <span> вокруг них.

 

Как видно из кодов которые формируют отображение цены (из моего первого поста) за знак валюты отвечают переменные .$c_char в первом файле и currencySign во втором. Я просто не знаю как правильно заключить эти переменные в HTML тег прямо в этих файлах.

 

Что-то на подобии

  1. case 2:
  2. $ret = number_format($price, $c_decimals, ',', ' ').$blank'<span>'.$c_char.'</span>';
  3. break;

и

  1. if (currencyFormat == 2)
  2. return (formatNumber(price, priceDisplayPrecision, ' ', ',') + blank '<span>'+currencySign+'</span>');

но так не получается, не знаю как правильно записать, иногда выдает ошибку или перестает работать добавление в корзину на аяксе , а иногда просто возвращает тег <span> как текст.

Edited by S@nya (see edit history)
Link to comment
Share on other sites

По другому если, в Tools.php, перед if ($no_utf8) прописываешь:

 



$c_char = '<span>'.$c_char.'</span>';


 

Далее в  Tools.js прописываешь перед if (currencyBlank > 0):

 



currencySign = '<span>' + currencySign + '</span>';


 

Далее в Product.js, везде где встречаешь currencySign на этой же строчке меняешь ).text( на ).html(

Edited by Kerm (see edit history)
  • Like 1
Link to comment
Share on other sites

Kerm, большое спасибо за ответ, сделал именно так как Вы написали в посте №5, только изменять ).text( на ).html( надо было не в Product.php а в вашатема\js\product.js

 

Сделал замену в строках в которых есть price_display и все заработало как надо!

Думаю не будете возражать если я приведу это решение в моей аналогичной теме в англоязычной части форума?

 

Пожалуйста, отметьте как РЕШЕНО.

Edited by S@nya (see edit history)
Link to comment
Share on other sites

×
×
  • Create New...