Jump to content

Округление цен


Recommended Posts

Как сделать округление только в одной валюте в Prestashop 1.6, чтобы другую это не затрагивало? У меня цена в беларуских рублях и в долларах США. Доллары по умолчанию, рубли привязаны к курсу доллара. Я делаю округление до 1000 р. вот так:

 
В корневом каталоге classes/Tools.php
 
public static function ps_round($value, $precision = 0)
{
//some code
return round($value, $precision);
}
заменить последнюю строку "return round($value, $precision);" на
 
return round($value, -3);

 

Но и доллары тоже округляются... (((

 

Как сделать, чтобы доллары не округлялись?

Спасибо.

  • Like 1

Share this post


Link to post
Share on other sites

  • 7 months later...

У меня схожая ситуация. В смысле мультивалютность. Покупаю за рубли продаю за тенге... И мне пришлось отключить ее и вбивать в ручную с клькулятором уже в тенге. Когда создаешь комбинации и к примеру за разную длину пусть будет 1000р. разница. При переключении на другую валюту (ну пусть доллар). Цена конвертируется, а вот прирост +1000 остается. И имеем теперь товар дороже на 1000$. Не сталкивались с таким? Проверьте, а то у меня было на момент отказа от мультивалютности и переоценке в другой валюте порядка 500 товаров...А кто-нить знает можно ли как-то встроенными способом к примеру изменить цену всех товаров на какой-либо% не делая это вручную с каждым товаром?

Share this post


Link to post
Share on other sites

  • 4 months later...

Вышел из положения установив в

Локализация->Валюты->Belarusian ruble  - *Символ - .000 р.

ну и курс в ручную например 1$=14.8 (а подразумевается 14 800р. )

Share this post


Link to post
Share on other sites

Вышел из положения установив в

Локализация->Валюты->Belarusian ruble  - *Символ - .000 р.

ну и курс в ручную например 1$=14.8 (а подразумевается 14 800р. )

Это, конечно, возможно, но что делать если оплата не наличкой, а онлайн? принимать по курсу 14.8 рубли =)?

 

Подскажет ли кто-нибудь, можно ли сделать округление для определенной валюты только?

Edited by tomtiger (see edit history)

Share this post


Link to post
Share on other sites

  • 7 months later...

Как сделать округление только в одной валюте в Prestashop 1.6, чтобы другую это не затрагивало? У меня цена в беларуских рублях и в долларах США. Доллары по умолчанию, рубли привязаны к курсу доллара. Я делаю округление до 1000 р. вот так:

 
В корневом каталоге classes/Tools.php
 
public static function ps_round($value, $precision = 0)
{
//some code
return round($value, $precision);
}
заменить последнюю строку "return round($value, $precision);" на
 
return round($value, -3);

 

Но и доллары тоже округляются... (((

 

Как сделать, чтобы доллары не округлялись?

Спасибо.

 

Я из Беларуси, такая же проблема с округлением у нас цены как в Зимбабве в миллионах, тоесть товар может стоить 1.000.000-5.000.000.

Забиваю в магазин изначально цены в долларах, а система переводит уже сама в Рубли, это делают многие чтобы нашу гиперинфляцию нивелировать.

Так вот, если так делать, то цены в админке будут отображаться "0$" нулями, а в магазине все четко будет 1.234.000р. ЭТО НЕ ВАРИАНТ.

Самое простое это вбивать курс доллара например как 17.500 тогда соответственно будет или 1.234.500 или 1.234.000р. ЭТО уже ЛУЧШЕ, но тоже не вариант.

 

Самое простое, как мне кажется как то исправить 1 строчку КОРЗИНА - ИТОГО.

 

Как это сделать пока не понял, читаю статью http://blog.belvg.ru/cart-in-prestashop.html

Там написано что надо как то править : /controllers/front/ CartController.php

Наша строчка: 

Окончательная сумма заказа рассчитывается следующим методом:

Cart:: getOrderTotal($with_taxes = true, $type = Cart::BOTH, $products = null, $id_carrier = null, $use_cache = true)
Edited by Domovikx (see edit history)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More