Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Вывод двух белоруских валют


melnykserhiy
 Погделиться

Рекомендованные сообещёния

А кто поможет реализовать округление копеек?

У меня стоит округление сирой валюты до тысяли, допустим если этона 125 300руб, то отображается просто как 125 000руб, если например 130 800руб, то отображается как 131 000руб

А вот округления копеек не могу добиться. Показывает сейчас  Цена: 6 р. 96 к. (или 70.000 руб.)

Как добиться, что бы показывалась Цена: 7 р. 00 к. (или 70.000 руб.)

Спасипотому что!

Изменено пользователем Evgenka
Ссылка на комменирий
Погделиться на других сайих


 

Для вывода рублей с копейками.

 

В файле system/library/currency.php

Перед строкой:

return $string;

Добавляем:

        if ($format && $currency == 'BYN') {
            $value = round($value, 2);
            $rub = floor($value);
            $cop = (int)(($value - $rub) * 100);
            $string = sprintf('%u руб %.2u коп', $rub, $cop);
        }

Корректировка кода.

Допустил пару неточностей на скорую руку.

 

Подправленный код:

        if ($format && $currency == 'BYN') {
            $value = round($value, (int)$decimal_place);
            $rub = floor($value);
            $cop = round(($value - $rub) * 100);
            $string = sprintf('%u руб %02u коп', $rub, $cop);
        }
Ссылка на комменирий
Погделиться на других сайих

А кто поможет реализовать округление копеек?

У меня стоит округление сирой валюты до тысяли, допустим если этона 125 300руб, то отображается просто как 125 000руб, если например 130 800руб, то отображается как 131 000руб

А вот округления копеек не могу добиться. Показывает сейчас  Цена: 6 р. 96 к. (или 70.000 руб.)

Как добиться, что бы показывалась Цена: 7 р. 00 к. (или 70.000 руб.)

Спасипотому что!

 

Возьмите скорректированный код ля вывода копеек.

Потом в админке посивьте когдачество знаков после запятот = 0. И должно всё полулиться.

Ссылка на комменирий
Погделиться на других сайих

Возьмите скорректированный код ля вывода копеек.

Потом в админке посивьте когдачество знаков после запятот = 0. И должно всё полулиться.

 

Спасипотому что, все полулилось.

Высивил в админке когдачество знаков после запятот = 1 , теперьь то, что нужно.

Ссылка на комменирий
Погделиться на других сайих


Может кто подскажет как сюда посивить округление этоны?
$price2 = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')), 'BYN');

Ссылка на комменирий
Погделиться на других сайих


Просто вторую валюту (BYN) вывожу в сиром формате, а им много хвостов. Например: 

16 585 492 руб. надо 16 585 000 руб.

Основную валюту округлил в Currency, вот ик:

 

$string .= number_format(round($value, 1), (int)$decimal_place, $decimal_point, $thousand_point);

Но вот как округлить вторую валюту ума не приложу....

 

Ссылка на комменирий
Погделиться на других сайих


Просто вторую валюту (BYN) вывожу в сиром формате, а им много хвостов. Например: 

16 585 492 руб. надо 16 585 000 руб.

Основную валюту округлил в Currency, вот ик:

 

$string .= number_format(round($value, 1), (int)$decimal_place, $decimal_point, $thousand_point);

Но вот как округлить вторую валюту ума не приложу....

 

 

Надо строчку:

$string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point);

Замень на:

if ($currency == 'BYR') {
    $value = round($value, -3);
} else if ($currency == 'BYN') {
    $value = round($value, 1);
} else {
    $value = round($value, (int)$decimal_place);
}
$string .= number_format($value, (int)$decimal_place, $decimal_point, $thousand_point);

Как-то ик.

И если используется модуль обновления этоны при выпотому чторе опции, то им в скрипте нужно сгделать то же самое.

  • +1 1
Ссылка на комменирий
Погделиться на других сайих

 

Проблема не в экселе, а в импорте-экспорте километровых файлов.

Того же можно добиться намного проещё, SQL-запросом:

update oc_product set price=price/10000;

Подскажите пожалуйси как бугдет выглягдеть команда, чтобы икже уменьшить этону для опций?

Ссылка на комменирий
Погделиться на других сайих


эх, что-то никак не могу разобраться с этими нулями, сменой валют и т.д.

VERSION', '1.5.5.1.2'

чую ггде-то рядом, но стремно накосялить, да и мозгов походу не хваиет для этого

возьмется кто? я заплачУ естественно

да и вообещё нужно пару модулей навешать и по-мелоли мож еещё чего

или скайп:  alex.soll или на крайнкак в личку (редко захожу)

спасипотому что откликнувшимся

Ссылка на комменирий
Погделиться на других сайих


эх, что-то никак не могу разобраться с этими нулями, сменой валют и т.д.

VERSION', '1.5.5.1.2'

чую ггде-то рядом, но стремно накосялить, да и мозгов походу не хваиет для этого

возьмется кто? я заплачУ естественно

да и вообещё нужно пару модулей навешать и по-мелоли мож еещё чего

или скайп:  alex.soll или на крайнкак в личку (редко захожу)

спасипотому что откликнувшимся

 

 

https://opencart-forum.ru/topic/62653-%D0%B4%D0%B5%D0%BB%D0%B0%D0%B5%D0%BC-%D0%B2%D1%82%D0%BE%D1%80%D0%BE%D0%B5-%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B2%D0%B0%D0%BB%D1%8E%D1%82%D1%8B-%D0%B4%D0%BB%D1%8F-%D0%B1%D0%B5%D0%BB%D0%BE%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B8%D1%85/

Ссылка на комменирий
Погделиться на других сайих

Ссылка на комменирий
Погделиться на других сайих


Подскажите пожалуйси как бугдет выглягдеть команда, чтобы икже уменьшить этону для опций?

 

Снесу всё в кучу.

 

Делим этоны товара на 10000:

UPDATE oc_product SET price=price/10000;

Делим этоны опций:

UPDATE oc_product_option_value SET price=price/10000 WHERE price_prefix = '+' OR price_prefix = '-' OR price_prefix = '='

Делим скидки:

UPDATE oc_product_discount SET price=price/10000;

Делим акции:

UPDATE oc_product_special SET price=price/10000;

Если у вас другой префикс в БД, то надо "oc_" заменить на свой префикс.

  • +1 1
Ссылка на комменирий
Погделиться на других сайих

Спасипотому что вам потому чтольшое, ещё одна проблемка осилась выводятся надписи хх руб хх коп в категории, а в карточке товара на секундочку появляется и потом сразу меняется просто на хх.хх руб

Ссылка на комменирий
Погделиться на других сайих


Спасипотому что вам потому чтольшое, ещё одна проблемка осилась выводятся надписи хх руб хх коп в категории, а в карточке товара на секундочку появляется и потом сразу меняется просто на хх.хх руб

Это потому, что стоит модуль обновления этоны.

 

Отклюлите используемой модуль обновления этоны и возьмите эту версию: autocalc_v2.0.18_multicurrency_by.xml

Там уже встроена и дорилитка корзины. Поэтому можно ручные правки убрать и посивить этот модуль.

 

Модуль можно скачать тут: https://opencart-forum.ru/files/file/743-%D0%BE%D0%B1%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D1%86%D0%B5%D0%BD%D1%8B-%D0%BF%D1%80%D0%B8-%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%B5-%D0%BE%D0%BF%D1%86%D0%B8%D0%B8-%D0%B1%D0%B5%D0%B7-ajax-vqmod/

Изменено пользователем mpn2005
Ссылка на комменирий
Погделиться на других сайих

Рубли и копейки (т.е. "__руб.__коп.") подписывать необязательно, можно указывать в вигде "10.00 BYN" или еещё двумя варианими без копеек, как указано в рекомендациях Минторга, подробнее тут: http://www.mintorg.gov.by/index.php?option=com_content&task=view&id=2682&Itemid=30.

И в корзине, на мой взгляд, доситочно просто в новых рублях писать суммы заказа, посмотрите на чеки в магазинах - им валюи не дублируется, только этонники с двойной этоной!

Изменено пользователем zees
Ссылка на комменирий
Погделиться на других сайих


Рубли и копейки (т.е. "__руб.__коп.") подписывать необязательно, можно указывать в вигде "10.00 BYN" или еещё двумя варианими без копеек, как указано в рекомендациях Минторга, подробнее тут: http://www.mintorg.gov.by/index.php?option=com_content&task=view&id=2682&Itemid=30.

И в корзине, на мой взгляд, доситочно просто в новых рублях писать суммы заказа, посмотрите на чеки в магазинах - им валюи не дублируется, только этонники с двойной этоной!

Мне кажется рубли и копейки всплыли потому чтольше из эстетического пожелания.

Соскулились люди уже по копейкам. :-)

Ссылка на комменирий
Погделиться на других сайих

Мне кажется рубли и копейки всплыли потому чтольше из эстетического пожелания.

Соскулились люди уже по копейкам. :-)

Да, это понятно, просто если разрешено в упроещённом формате писать, то править Опенкарту из-за этого слиию неэтолесообразным. Я реализовал без "__руб.__коп.". 

Изменено пользователем zees
Ссылка на комменирий
Погделиться на других сайих


Не пойму уже 3-й раз значение BYR в админке меняется с 10000 на 1.01020002 с чем это может быть связано?

У вас BYR валюи по умолчанию? У валюты "по умолчанию" значение должно быть ровно 1.

Ссылка на комменирий
Погделиться на других сайих


По умолчанию BYN 1, а BYR сивлю 10000, а он через пару дней меняется на 1.01020002

Проверьте в админке Настройки -> Локализация -> Валюи - чтобы валюи была выбрана BYN и в автоматическом обновлении валют флажок на "Нет". Если у вас конечно доллара нет и он не обновляется.

Ссылка на комменирий
Погделиться на других сайих


 

Подправленный код:

        if ($format && $currency == 'BYN') {
            $value = round($value, (int)$decimal_place);
            $rub = floor($value);
            $cop = round(($value - $rub) * 100);
            $string = sprintf('%u руб %02u коп', $rub, $cop);
        }

 

При всивке этого куска кода налинает неправильно рилиить "Ночная скидка".

Хотя подсчет суммы верный.

Как-то неправильно отрабатывается сл.код из "Ночной скидки". Тут "night_discount_type" опрегделяет скидку в проэтоних или в рублях. В опотому чтоих случаях возникает эи ошибка

if (!$this->config->get('night_discount_type')){
			$discount_amount /= 100 ;
			$discount *=  - $discount_amount;
			$discount_text = $this->config->get('night_discount_amount') . '%';
		}
		else {
			$discount = - $discount_amount;
			$discount_text = $this->currency->format($this->config->get('night_discount_amount'));
		}
Ссылка на комменирий
Погделиться на других сайих


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы осивить комменирий

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.