Jump to content

Zaokrouhlovani cen


Recommended Posts

Pri prevodu z puvodni meny na US mi vychazi castky typu 8.62$ ..atd.  Da se nekde nastavit / prepsat nebo pripsat nejaky radek nekam aby ceny byly trochu normalnejsi? Treba 8.60$ nebo 8.70$

Dekuji

 

 

Share this post


Link to post
Share on other sites

.classes/Tools.php

Hledat displayPrice a ps_round.

ps_round zaokrouhluje desetiny.

Když bude 2 zaokrouhlí na 2 desetiny, když bude 1, zaokrouhlí na jednu desetinu.

Když bude zaokrouhleno na jednu desetinu, musí se přidat za výsledné číslo 0.

Takže, tvůj případ bude vypadat nějak takto.

$price = Tools::ps_round($price, 1) . '0';

return displayPrice ($price, $currency);

  • Like 1

Share this post


Link to post
Share on other sites
6 hours ago, knacky said:

.classes/Tools.php

Hledat displayPrice a ps_round.

ps_round zaokrouhluje desetiny.

Když bude 2 zaokrouhlí na 2 desetiny, když bude 1, zaokrouhlí na jednu desetinu.

Když bude zaokrouhleno na jednu desetinu, musí se přidat za výsledné číslo 0.

Takže, tvůj případ bude vypadat nějak takto.

$price = Tools::ps_round($price, 1) . '0';

return displayPrice ($price, $currency);

diky za odpoved.

public static function displayPrice($price, $currency = null, $no_utf8 = false, Context $context = null)
    {
        if (!is_numeric($price)) {
            return $price;
        }
        if (!$context) {
            $context = Context::getContext();
        }
        if ($currency === null) {
            $currency = $context->currency;
        } elseif (is_int($currency)) {
            $currency = Currency::getCurrencyInstance((int)$currency);
        }

displayPrice tam mam jeste v dalsich dvou pripadech a predpokladam ze stejne tak jako v tomto , to nebude. Nebot tam o zaokrouhlovani neni ani radka.

ps_round je tam jeste vickrat v ruznych radkach , ale prepodkladam tento je ten ?

 $price = Tools::ps_round($price, $c_decimals);

prepsal jsem to dle navodu a misto sveho webu jsem dostal bilou stranku ;-)

tak to asi taky nebude ono.

Zapomel jsem napsat , ze mam PS.16.1.24

tam to bude asi jinak nez u noveho 1.7

 

 

 

Share this post


Link to post
Share on other sites

Tak už chystám modul k prodeji i pro Prestashop 1.6

Možnosti nastavení:

  • zobrazit cenu bez desetin / včetně desetin
  • zaokrouhlit cenu podle počtu desetin (0, 1, 2)
  • vybrat jazyk pro který bude platiti pravidlo
  • vybrat měnu pro kterou bude platit pravislo
  • vybrate obchod (multistore) pro který bude platit pravidlo
  • zobrazení měny před / za cenou
  • oddělovač tisíců
  • oddělovač desetin
  • jazyk prostředí CS | EN (lze překládat i do jiných jazyků)

Dostupný bude zde:

https://e-apps.eu/cs/katalog/69-zobrazte-ceny-bez-desetinnych-mist-nebo-ceny-zaokrouhlete-pro-jednotlive-e-shopy-meny-a-jazyky.html

Ukázky modulu:

main-cs.thumb.png.1512c13a798173bcd02515d5e5d8cdd0.png

=================================================================

0-cs.thumb.png.9fca85e6031b638d43182da63b52e6f9.png

=================================================================

1-cs.thumb.png.4d2aed76984ef519c2508cd926c6b40a.png

=================================================================

2-cs.thumb.png.31d86e3caddb2e56ab74b9240753a477.png

Edited by D. Tengler (see edit history)
  • Thanks 1

Share this post


Link to post
Share on other sites
1 hour ago, D. Tengler said:

Tak už chystám modul k prodeji i pro Prestashop 1.6

Možnosti nastavení:

  • zobrazit cenu bez desetin / včetně desetin
  • zaokrouhlit cenu podle počtu desetin (0, 1, 2)
  • vybrat jazyk pro který bude platiti pravidlo
  • vybrat měnu pro kterou bude platit pravislo
  • vybrate obchod (multistore) pro který bude platit pravidlo
  • zobrazení měny před / za cenou
  • oddělovač tisíců
  • oddělovač desetin
  • jazyk prostředí CS | EN (lze překládat i do jiných jazyků)

Dostupný bude zde:

https://e-apps.eu/cs/katalog/69-zobrazte-ceny-bez-desetinnych-mist-nebo-ceny-zaokrouhlete-pro-jednotlive-e-shopy-meny-a-jazyky.html

Ukázky modulu:

main-cs.thumb.png.1512c13a798173bcd02515d5e5d8cdd0.png

=================================================================

0-cs.thumb.png.9fca85e6031b638d43182da63b52e6f9.png

=================================================================

1-cs.thumb.png.4d2aed76984ef519c2508cd926c6b40a.png

=================================================================

2-cs.thumb.png.31d86e3caddb2e56ab74b9240753a477.png

toto zaokrouhlovani je v zakladni vybave PS1.6  ( preferences - general ) , jde o to ze kdyz dam zaokrouhleni na 1 des. tak cena vypada takto 7.1$ a ne 7.10$  , Ja mam treba cenu 7.13$ a chci aby to melo porad 2 desetiny digits ale zaokrouhlene. tz. 7.10$  ...nebot 7.1$ se mi proste esteticky nelibi.

Osobni vec, ale neni zas tak dulezita abych kvuli tomu specialne kupoval modul.

Kazdopdne dekuji.

  • Like 1

Share this post


Link to post
Share on other sites

Zaokrouhlování tam je, ale defaultně pro všechny měny a jazyky.

Chápu.

V PS 1.6 to opravdu není jednoduché.

Funkce displayPrice jede na formátech podle desetiné (tečky, čárky),  oddělovače tisíců (tečka, čárka) .....

Takže když dáš round pro $price, vyjde ti nesmysl, nebo se nezobrazí cena vůbec.

Řešil jsem to modulem, abych získal cenu a formát a poté upravil. V případě zadání zaokrouhlení na jednu desetinu doplní nulu atd.

Jde o část:

switch ($c_format)
		    {
			    case 1:
				    $ret = $c_char.$blank.number_format($price, $c_decimals, '.', ',');
				    break;
			    case 2:
				    $ret = number_format($price, $c_decimals, ',', ' ').$blank.$c_char;
				    break;
			    case 3:
				    $ret = $c_char.$blank.number_format($price, $c_decimals, ',', '.');
				    break;
			    case 4:
				    $ret = number_format($price, $c_decimals, '.', ',').$blank.$c_char;
				    break;
			    case 5:
				    $ret = $c_char.$blank.number_format($price, $c_decimals, '.', "'");
				    break;
		    }

V PS 1.7 jsem to vyřešil celkem rychle.

Modul pro PS 1.7 už mám hotový cca. 3/4 roku a je celkem prodejný.

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
×
×
  • Create New...

Important Information

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