0 Пользователей и 1 Гость просматривают эту тему.
  • 30 Ответов
  • 3799 Просмотров
*

intcorp

  • Захожу иногда
  • 448
  • 12 / 0
Появилась необходимость вывести цену в виде Цена: 777 руб но нигде не получается найти формирование вывода цены, чтобы разделить цену и валюту.
Цена+валюта выводятся через
Код
<?php print formatprice ($product->product_price);?>
но где это дело формируется и как его "разбить" или есть другие способы вывода для нужного результата?
*

intcorp

  • Захожу иногда
  • 448
  • 12 / 0
Re: Разделить стоимость и валюту
« Ответ #1 : 02.07.2013, 02:56:32 »
Как вариант "через одно место" залез в базу и в currency_code прописал <small>руб</small>, но хотелось бы по-нормальному это сделать)
*

Fedor Vlasenko

  • Живу я здесь
  • 3844
  • 731 / 7
  • Все начинается с Value
Re: Разделить стоимость и валюту
« Ответ #2 : 02.07.2013, 02:57:50 »
а сейчас, что выводит
<?php print formatprice ($product->product_price);?>
<?php print $product->product_price;?>
*

ELLE

  • Глобальный модератор
  • 4513
  • 892 / 0
Re: Разделить стоимость и валюту
« Ответ #3 : 02.07.2013, 03:00:56 »
Код: php
<?php echo number_format($product->product_price, $this->config->decimal_count, $this->config->decimal_symbol, $this->config->thousand_separator); ?> 

<small><?php echo $this->config->currency_code ?></small>
*

Fedor Vlasenko

  • Живу я здесь
  • 3844
  • 731 / 7
  • Все начинается с Value
Re: Разделить стоимость и валюту
« Ответ #4 : 02.07.2013, 03:25:36 »
Код: php-brief
<?php echo preg_replace('/([0-9]+)(.+)/', '<?php echo preg_replace('/([0-9]+)(.+)/', '$1 <small>$2</small>', formatprice ($product->product_price)); ?> <small>php-brief</small>', formatprice ($product->product_price)); ?>
На обум предложу регуляркой нет у меня магазина  >:( а Т. С. Молчит.
*

intcorp

  • Захожу иногда
  • 448
  • 12 / 0
Re: Разделить стоимость и валюту
« Ответ #5 : 02.07.2013, 03:46:37 »
Код: php
<?php echo number_format($product->product_price, $this->config->decimal_count, $this->config->decimal_symbol, $this->config->thousand_separator); ?> 

<small><?php echo $this->config->currency_code ?></small>
и
Код
<?php print $product->product_price;?>

Работают, но если вывод цены обернуть в span, то валюта еще раз вылазит, но нужный результат достигнут :)

Насчет
Код
<?php echo preg_replace('/([0-9]+)(.+)/', '$1 <small>$2</small>', formatprice ($product->product_price)); ?>
Движение в нужном направлении, но в small оборачивается не валюта, а часть стоимости товара
« Последнее редактирование: 02.07.2013, 03:55:16 от intcorp »
*

Fedor Vlasenko

  • Живу я здесь
  • 3844
  • 731 / 7
  • Все начинается с Value
Re: Разделить стоимость и валюту
« Ответ #6 : 02.07.2013, 03:51:16 »
intcorp вы можете привести вид цены как выводит без модификаций 2-й раз уже спрашиваю
*

ELLE

  • Глобальный модератор
  • 4513
  • 892 / 0
Re: Разделить стоимость и валюту
« Ответ #7 : 02.07.2013, 03:52:17 »
Работает, но если
обернуть в span, то валюта еще раз вылазит, но нужный результат достигнут :)

Не очень поняла откуда такая проблема у вас, потому что у меня тоже в спане и ничего не вылазит ) Перепроверьте еще раз корректность того что вы делаете.

и еще поясню если не ясно -
<small><?php echo $this->config->currency_code ?></small>
- это уже вывод чисто валюты, а первая строчка - сама цена

Просто функция formatprice где-то прописана в компоненте (можно поиском найти) и единственное что делает - так это собирает эти значения в одно целое.
*

intcorp

  • Захожу иногда
  • 448
  • 12 / 0
Re: Разделить стоимость и валюту
« Ответ #8 : 02.07.2013, 04:01:29 »
intcorp вы можете привести вид цены как выводит без модификаций 2-й раз уже спрашиваю
В варианте
Код
<?php print _JSHOP_PRICE;?>: <?php print formatprice ($product->product_price);?>
выводилось просто Цена: 777 руб

Остановился на варианте
Код
<small><?php print _JSHOP_PRICE;?>:</small> 
<?php print $product->product_price;?>
<small> <?php echo $this->config->currency_code ?></small>
Почему при выделении стоимости span вылезает опять код валюты не понятно)
Fedor Vlasenko и ELLE спасибо "+"
*

dmitry_stas

  • Легенда
  • 13152
  • 1232 / 8
Re: Разделить стоимость и валюту
« Ответ #9 : 02.07.2013, 09:08:53 »
на всякий случай скажу, что в бете 3.15 у функции formatprice есть 4-й параметр, отвечающий за обрамление кода валюты в <span class="currencycode">. так что можно будет пользовать :)
Спойлер
[свернуть]
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

SDKiller

  • Живу я здесь
  • 2706
  • 329 / 5
  • ...ergo sum
Re: Разделить стоимость и валюту
« Ответ #10 : 02.07.2013, 09:16:07 »
Да, долго они к этому шли )
*

intcorp

  • Захожу иногда
  • 448
  • 12 / 0
Re: Разделить стоимость и валюту
« Ответ #11 : 02.07.2013, 11:24:54 »
Подумал, что вместо small лучше span и сделал
Код
<span><?php print _JSHOP_PRICE;?>:</span> 
<?php print $product->product_price;?>
<span><?php echo $this->config->currency_code ?></span>
в результате чего получается бред типа:  1 200 руб 12001 200 руб
*

intcorp

  • Захожу иногда
  • 448
  • 12 / 0
Re: Разделить стоимость и валюту
« Ответ #12 : 02.07.2013, 15:54:04 »
Обнаружил, что <span> </span> вызывал появление валюты через cartajaxattributes_plugin, если обрамление span убрать, то цена, при смене атрибутов, не меняется. Поэтому решения при наличии cartajaxattributes_plugin не найдено :( кроме варианта "через одно место" из поста 2
*

Fedor Vlasenko

  • Живу я здесь
  • 3844
  • 731 / 7
  • Все начинается с Value
Re: Разделить стоимость и валюту
« Ответ #13 : 02.07.2013, 16:11:12 »
Код: php-brief
<?php echo preg_replace('/^(.+)\s(.+)$/', '<?php echo preg_replace('/^(.+)\s(.+)$/', '$1 <small>$2</small>', formatprice ($product->product_price)); ?> <small>php-brief</small>', formatprice ($product->product_price)); ?>
intcorp у вас может плагин затем форматирует вывод цены с помощью js
попробуйте отключить js в браузере
*

intcorp

  • Захожу иногда
  • 448
  • 12 / 0
Re: Разделить стоимость и валюту
« Ответ #14 : 02.07.2013, 16:26:11 »
Код: php-brief
<?php echo preg_replace('/^(.+)\s(.+)$/', '<?php echo preg_replace('/^(.+)\s(.+)$/', '$1 <small>$2</small>', formatprice ($product->product_price)); ?> <small>php-brief</small>', formatprice ($product->product_price)); ?>
intcorp у вас может плагин затем форматирует вывод цены с помощью js
попробуйте отключить js в браузере
Код не работает
Да, в списке товаров, как я писал немного выше, цена выводится через cartajaxattributes_plugin.
*

nevigen

  • Moderator
  • 10308
  • 855 / 25
  • http://n*****n.com
Re: Разделить стоимость и валюту
« Ответ #15 : 02.07.2013, 18:59:16 »
3.15 вроде будет разделение
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

intcorp

  • Захожу иногда
  • 448
  • 12 / 0
Re: Разделить стоимость и валюту
« Ответ #16 : 10.10.2013, 12:10:27 »
Поставил 3.15 разделения нет :dry:
*

avantyrist

  • Захожу иногда
  • 228
  • 3 / 0
Re: Разделить стоимость и валюту
« Ответ #17 : 20.05.2014, 13:17:27 »
Подниму древнюю тему,
В версии Version 3.16.4     сделали отдельное обрамление валюты, в отдельный блок ?
У меня такого нету :(
мне необходимо убрать "валюту" при выводе "Старой цены" что делать ??  она выводится скриптом,  :(
*

Виталик

  • Завсегдатай
  • 1242
  • 130 / 0
Re: Разделить стоимость и валюту
« Ответ #18 : 20.05.2014, 13:28:24 »
у formatprice есть второй параметр укажите там пробел, он заменит валюту
*

avantyrist

  • Захожу иногда
  • 228
  • 3 / 0
Re: Разделить стоимость и валюту
« Ответ #19 : 20.05.2014, 13:31:42 »
Виталий где указать пробел ? :(

функция, которую описывал Дмитрий у меня есть:
Спойлер
[свернуть]
Но почемуто цены ВЕЗДЕ указываются без обрамления валюты в блок <span class="currencycode"> как так  ? :((
*

Виталик

  • Завсегдатай
  • 1242
  • 130 / 0
*

avantyrist

  • Захожу иногда
  • 228
  • 3 / 0
Re: Разделить стоимость и валюту
« Ответ #21 : 20.05.2014, 13:53:28 »
Не работает Неправильно, Оно сначало выводит Цену обычную, не "Старая Цена" (но без валюты)
при переключении атрибутов, у которых указаны разные "Старая Цена" выводится иммето та старая цена которая указана, и выводится с "Валютой"


Как добавить обрамление валюты в отдельный блок ?  Выше писали что ето вроде как реализовано, Но реализации нет никакой О_о
Помогите пожалуйста, еслибы была валюта в отдельном блоке, можно было манипулировать СSS стилями, а так беда... :(

Ошибочка  для вывода без валюты надо <?php print formatprice($this->product->product_old_price, ' ')?>
Но когда выбираеш атрибут, всё сбивается и опять выводится ВАЛЮТА :(


ТЮ БЛИН !  лезем в /components/com_jshopping/lib/functions.php
ето:   function formatprice($price, $currency_code = null, $currency_exchange = 0, $style_currency = 0) {
меняем на ето:  function formatprice($price, $currency_code = null, $currency_exchange = 0, $style_currency = 1) {

и получаем везде валюту в блоке <span class="currencycode">,  Дальше можно манипулировать СSS стилями
----------------------------------------------------------------------
Я В ШОКЕ !
если так поменять то кнопка КУПИТЬ не пропадает  при выборе отсутствующего атрибута, также не переключаются "старая цена", если у разных атрибутов разные цены.
Как правильно настроить, чтобы было обрамление валюты в УЖЕ ПРОПИСАННЫЙ блок <span class="currencycode">
пожалуйста ХЕЛП
« Последнее редактирование: 20.05.2014, 14:17:36 от avantyrist »
*

dmitry_stas

  • Легенда
  • 13152
  • 1232 / 8
Re: Разделить стоимость и валюту
« Ответ #22 : 20.05.2014, 14:18:45 »
по-умолчанию это ладно. а вот почему в настройки не вынесено - это вопрос. я давно предлагал.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

avantyrist

  • Захожу иногда
  • 228
  • 3 / 0
Re: Разделить стоимость и валюту
« Ответ #23 : 20.05.2014, 14:23:52 »
Дмитрий но всёже как правильно задать обрамление валюты в Блок ?
просто если в той функции указать $style_currency = 1   то валюта обрамляется, но при етом перестаёт работаеть куча всего остального, помогите пожалуйста

Также если поудалять присвоение  нулю и условие if:

function formatprice($price, $currency_code = null, $currency_exchange = 0, $style_currency) {
$currency_code = '<span class="currencycode">'.$currency_code.'</span>';

Валюта выводится в Блок, но блин не работает всё остальное
« Последнее редактирование: 20.05.2014, 14:30:46 от avantyrist »
*

avantyrist

  • Захожу иногда
  • 228
  • 3 / 0
Re: Разделить стоимость и валюту
« Ответ #24 : 20.05.2014, 15:01:38 »
Такая мелочь, и столько Проблем О_о
пробовал в файле   /components/com_jshopping/js/functions.js
в функцию   function formatprice(price){  
добавить такое:
Спойлер
[свернуть]
Глупо, но попытка не пытка - итог ошибки Скриптов :) Не работает.  пожалуйста помогите !
« Последнее редактирование: 20.05.2014, 15:33:46 от avantyrist »
*

avantyrist

  • Захожу иногда
  • 228
  • 3 / 0
Re: Разделить стоимость и валюту
« Ответ #25 : 29.06.2014, 13:38:45 »
Может подскажит ктонибуть человеческое решение  обрамление Валюты в какой либо Блок
Выше писале же что можно будет пользоваться....   только Как ?

Щас по примеру второго поста, Залаез в БД _jshopping_currencies и в полях    currency_name    currency_code    прописал валюту так... <span>грн</span>
Всётаки не харошо так делать  :o
*

devirus

  • Захожу иногда
  • 140
  • 6 / 0
Re: Разделить стоимость и валюту
« Ответ #26 : 02.07.2014, 17:22:31 »
Честно - не вникал в проблему, проходил мимо)

Но для обрамления валюты в <span class="currencycode">:

в шаблоне товара вызываем не так:
Код
formatprice($this->product->getPriceCalculate())

а так:
Код
formatprice($this->product->getPriceCalculate(), null, 0, 1)

ну или:
Код
formatprice($product->product_price, null, 0, 1)
Если это категория (не стал разбираться в чем разница, но в дефолтном шаблоне было так).

p.s. что там потом не работает - уже другое дело =)
*

Bozhkov2

  • Захожу иногда
  • 414
  • 12 / 0
Re: Разделить стоимость и валюту
« Ответ #27 : 02.03.2015, 11:00:26 »
/components/com_jshopping/lib/default_config.php
$config->formatprice_style_currency_span = 1;

P.S. Решение было в какой-то другой теме. Начал искать, не нашел. Добавил сюда, чтобы легче найти было.
P.P.S После обновления магазина настройка слетает.
« Последнее редактирование: 02.03.2015, 11:46:39 от Bozhkov2 »
*

dmitry_stas

  • Легенда
  • 13152
  • 1232 / 8
Re: Разделить стоимость и валюту
« Ответ #28 : 02.03.2015, 11:49:08 »
P.P.S После обновления магазина настройка слетает.

потому что свои настройки надо делать в /components/com_jshopping/lib/user_config.php
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Bozhkov2

  • Захожу иногда
  • 414
  • 12 / 0
Re: Разделить стоимость и валюту
« Ответ #29 : 02.03.2015, 12:23:30 »
О спасибо!
P.S. Файла такого не было, создал сам с содержимым
Код
<?php defined('_JEXEC') or die('Restricted access');
$config->formatprice_style_currency_span = 1;
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться