S@nya Posted September 18, 2013 Share Posted September 18, 2013 Здравствуйте, подскажите как на странице товара сделать разные стили для цены и знака валюты. Мне необходимо сделать для них разные размеры шрифта и разные цвета, а скрипт выводит цену и валюту одной строкой. Проще говоря, как можно знак валюты заключить в отдельный <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 More sharing options...
Ronaldo Perez Posted September 19, 2013 Share Posted September 19, 2013 <span class="sign">$</span><span class="price">100</span> Link to comment Share on other sites More sharing options...
S@nya Posted September 19, 2013 Author Share Posted September 19, 2013 (edited) <span class="sign">$</span><span class="price">100</span> Спасибо конечно, но Вы меня не правильно поняли. Примерно такой код как Вы указали мне и надо получить в конечном результате, но проблема заключается в том что в шаблоне переменная которая выводит цену не разделена на сумму и знак валюты: <span id="our_price_display">{convertPrice price=$productPrice}</span> потому я не могу просто прописать <span> вокруг них. Как видно из кодов которые формируют отображение цены (из моего первого поста) за знак валюты отвечают переменные .$c_char в первом файле и currencySign во втором. Я просто не знаю как правильно заключить эти переменные в HTML тег прямо в этих файлах. Что-то на подобии case 2: $ret = number_format($price, $c_decimals, ',', ' ').$blank. '<span>'.$c_char.'</span>'; break; и if (currencyFormat == 2) return (formatNumber(price, priceDisplayPrecision, ' ', ',') + blank '<span>'+currencySign+'</span>'); но так не получается, не знаю как правильно записать, иногда выдает ошибку или перестает работать добавление в корзину на аяксе , а иногда просто возвращает тег <span> как текст. Edited September 19, 2013 by S@nya (see edit history) Link to comment Share on other sites More sharing options...
Kerm Posted September 20, 2013 Share Posted September 20, 2013 http://jsfiddle.net/nYcyz/11/ Link to comment Share on other sites More sharing options...
Kerm Posted September 20, 2013 Share Posted September 20, 2013 (edited) По другому если, в 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 September 23, 2013 by Kerm (see edit history) 1 Link to comment Share on other sites More sharing options...
S@nya Posted September 21, 2013 Author Share Posted September 21, 2013 (edited) Kerm, большое спасибо за ответ, сделал именно так как Вы написали в посте №5, только изменять ).text( на ).html( надо было не в Product.php а в вашатема\js\product.js Сделал замену в строках в которых есть price_display и все заработало как надо! Думаю не будете возражать если я приведу это решение в моей аналогичной теме в англоязычной части форума? Пожалуйста, отметьте как РЕШЕНО. Edited September 21, 2013 by S@nya (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts