Где формируется цена? Шаблон цены.

  • 12 Ответов
  • 4491 Просмотров

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

Нужно заключить приписку "руб" к цене в отдельный <span class=""></span>
Какой файл отвечает за формирование цены из числа и валюты?
вот скрин на котором видно о чем я говорю

Буду премного благодарен

*

Оффлайн beagler

  • *****
  • 3316
  • [+]390 / [-]4
  • Пол: Мужской
  • beagler dot ru
    • Просмотр профиля
    • Beagler.ru - решения для интернет магазинов
Re: Где формируется цена? Шаблон цены.
« Ответ #1 : 18.03.2012, 01:12:51 »
Формирование вывода - /administrator/components/com_virtuemart/helpers/currencydisplay.php
строка 320
return '<div class="Price'.$name.'" style="display : '.$vis.';" >'.$descr.'<span class="Price'.$name.'" >'.$product_price[$name].'</span></div>';
но. туда уже передается сформированая цена $this->product->prices
из /components/com_virtuemart/views/category/tmpl/default.php
строка 153
echo $this->currency->createPriceDiv ( 'salesPrice', 'COM_VIRTUEMART_PRODUCT_SALESPRICE', $this->product->prices );
a форматируется цена похоже в function getFormattedCurrency в /administrator/components/com_virtuemart/helpers/currencydisplay.php
попробуйте вместо
$replace = array($sign, $res, $this->_symbol);
сделать
$replace = array($sign, $res, '<span class="">'.$this->_symbol.'</span>');

Re: Где формируется цена? Шаблон цены.
« Ответ #2 : 18.03.2012, 02:09:26 »
Все работает!
Премного благодарен!
« Последнее редактирование: 18.03.2012, 13:20:13 от SkaterSPB »

*

Оффлайн SpaceRabbit

Re: Где формируется цена? Шаблон цены.
« Ответ #3 : 27.03.2012, 23:59:42 »
Скажите, а как убрать нули после запятой, к примеру, у меня получается такая цифра 200,00 руб, и можно ли убрать их только для модуля  Последних покупок, а в категориях оставить как было?

*

Оффлайн alkatran

Re: Где формируется цена? Шаблон цены.
« Ответ #4 : 30.03.2012, 10:06:09 »
Формирование вывода - /administrator/components/com_virtuemart/helpers/currencydisplay.php
строка 320
return '<div class="Price'.$name.'" style="display : '.$vis.';" >'.$descr.'<span class="Price'.$name.'" >'.$product_price[$name].'</span></div>';
но. туда уже передается сформированая цена $this->product->prices
из /components/com_virtuemart/views/category/tmpl/default.php
строка 153
echo $this->currency->createPriceDiv ( 'salesPrice', 'COM_VIRTUEMART_PRODUCT_SALESPRICE', $this->product->prices );
a форматируется цена похоже в function getFormattedCurrency в /administrator/components/com_virtuemart/helpers/currencydisplay.php
попробуйте вместо
$replace = array($sign, $res, $this->_symbol);
сделать
$replace = array($sign, $res, '<span class="">'.$this->_symbol.'</span>');

а для версии 1,1,9 не подскажите где это можно сделать?

*

Оффлайн Governor

Re: Где формируется цена? Шаблон цены.
« Ответ #5 : 26.06.2012, 18:00:07 »
Скажите, а как убрать нули после запятой, к примеру, у меня получается такая цифра 200,00 руб,

+1

*

Оффлайн Deepgrey

Re: Где формируется цена? Шаблон цены.
« Ответ #6 : 06.08.2012, 23:58:50 »
Хоть убейте не могу найти
/administrator/components/com_virtuemart/helpers/currencydisplay.php
в ВМ 2.0.6
Не подскажете где искать?

*

Оффлайн Serhiy_P

Re: Где формируется цена? Шаблон цены
« Ответ #7 : 07.11.2012, 02:43:25 »
Формирование вывода - /administrator/components/com_virtuemart/helpers/currencydisplay.php
строка 320
return '<div class="Price'.$name.'" style="display : '.$vis.';" >'.$descr.'<span class="Price'.$name.'" >'.$product_price[$name].'</span></div>';
но. туда уже передается сформированая цена $this->product->prices
из /components/com_virtuemart/views/category/tmpl/default.php
строка 153
echo $this->currency->createPriceDiv ( 'salesPrice', 'COM_VIRTUEMART_PRODUCT_SALESPRICE', $this->product->prices );
a форматируется цена похоже в function getFormattedCurrency в /administrator/components/com_virtuemart/helpers/currencydisplay.php
попробуйте вместо
$replace = array($sign, $res, $this->_symbol);
сделать
$replace = array($sign, $res, '<span class="">'.$this->_symbol.'</span>');

Спасибо!

*

Оффлайн ddn821

Re: Где формируется цена? Шаблон цены
« Ответ #8 : 18.01.2014, 23:52:31 »
Здравствуйте, возникла похожая ситуация - не могу найти где находятся само значение цены (цифры).
Цена: 111 руб.
Есть необходимость заключить цену в div для микроразметки, а в php не силен.
Помогите пожалуйста. Спасибо.

*

Оффлайн Plazmodina

Re: Где формируется цена? Шаблон цены
« Ответ #9 : 18.01.2014, 23:59:27 »
Здравствуйте, возникла похожая ситуация - не могу найти где находятся само значение цены (цифры).
Цена: 111 руб.
Есть необходимость заключить цену в div для микроразметки, а в php не силен.
Помогите пожалуйста. Спасибо.

Если есть руки и голова то можно сделать так - http://joomlaforum.ru/index.php/topic,197079.msg1417860.html#msg1417860 Голова есть? Руки есть? Вперёд!

*

Оффлайн ddn821

Re: Где формируется цена? Шаблон цены
« Ответ #10 : 19.01.2014, 01:30:50 »
Голова есть? Руки есть? Вперёд!
Спасибо тебе добрый человек! Знаний не хватает. Неделю мучился, перечитал всю ветку по VM2, "дрюкал" поиск - ничего. А тут почти сразу заработало.

*

Оффлайн Bowa

Re: Где формируется цена? Шаблон цены
« Ответ #11 : 20.01.2017, 15:22:36 »
в версии 2.0.22c не работает (( может кто знает как сделать для данной версии?
как оказалось, вот мой вариант:
$replace = array($sign, $res, '<span class="">'.$this->_symbol);
« Последнее редактирование: 20.01.2017, 17:58:20 от Bowa »

*

Оффлайн Strikerus

  • ***
  • 108
  • [+]5 / [-]0
  • Пол: Мужской
  • Aka Smyke
    • Просмотр профиля
    • ТехКомплектСтрой - главный спонсор Вашего строительства
Re: Где формируется цена? Шаблон цены
« Ответ #12 : 25.04.2017, 12:24:15 »
Скажите, а как убрать нули после запятой, к примеру, у меня получается такая цифра 200,00 руб, и можно ли убрать их только для модуля  Последних покупок, а в категориях оставить как было?

Если для всего сайта на VirtueMart 2:

Нужно заменить в файле /administrator/components/com_virtuemart/helpers/currencydisplay.php строку:
Код: (php) [Выделить]
$priceFormatted = $this->priceDisplay($price,0,(float)$quantity,false,$this->_priceConfig[$name][1],$name );на:
Код: (php) [Выделить]
$priceFormatted = str_replace(',00', '', ($this->priceDisplay($price,0,(float)$quantity,false,$this->_priceConfig[$name][1],$name )));
Если для модуля - аналогично отрезайте ,00 уже в самом модуле