Jump to content
  • 0

Zaokrąglanie ceny do 5ego miejsca po przecinku.


ermak3

Question

Szukałem po forach polskich i angielskich, znalazłem różne tematy gdzie były podane rozwiązania mojego problemu ale jednak rozwiązać się go nie udało...


Chciałbym aby ceny były zaokrąglane do 5 (albo dowolnego wybranego) miejsca po przecinku. Udało mi się wyświetlać je w formacie x,xxxxx ale gdy cena powinna wynosić przykładowo 1,04856, wyświetla się jako 1,05000 -.-


Od razu uprzedzam pytanie "a po co CI to?"

Chciałbym umożliwić płatność w bitcoinach i chciałbym aby była też możliwość poprawnego wyświetlania w nich cen.

Edited by ermak3 (see edit history)
Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

hurrrrra!

Już piszę jak to należy zrobić :) (właściwie to skopiuje z angielskiego forum)
 

 

edit file /config/defines.inc.php:

define('_PS_PRICE_DISPLAY_PRECISION_', 3); <-- change 2 into 3 here

 

and save the file.

 

 

I noticed however that the Home Featured Products and best sellers - lists still keep 2 decimals...

 

To solve this:

- Home featured/specials products:

Edit file themes/<your theme folder>/modules/homefeatured/homefeatured.tpl (Make backup!)

find (using Ctrl-F): $product.price

 

<a class="lnk_more" href="{$product.link|escape:'html'}" title="{l s='View' mod='homefeatured'}">{l s='View' mod='homefeatured'}</a>
{if $product.show_price AND !isset($restricted_country_mode) AND !$PS_CATALOG_MODE}
<p class="price_container">
<span class="price">{if !$priceDisplay}{displayPrice price={convertPrice price=$product.price}}{else}{displayPrice price={convertPrice price=$product.price_tax_exc}}{/if}</span></p>{else}<div style="height:21px;"></div>{/if}
 
Add the red code. (Don't forget the closing '}'  )

 

save the file

 

for bestsellers:

Edit file themes/<your theme folder>/modules/blockbestsellers/blockbestsellers.tpl (Make backup!)

find (using Ctrl-F): $product.price

 
<p>
<a href="{$product.link|escape:'html'}" title="{$product.legend|escape:'htmlall':'UTF-8'}">
{$product.name|strip_tags:'UTF-8'|escape:'htmlall':'UTF-8'}<br />
<span class="price">{displayPrice price={convertPrice price=$product.price}}</span>
</a></p>
 
Add the red code. (Don't forget the closing '}'  )

 

save the file

To pozwoli na wyświetlanie cen do 3 miejsc po przecinku. Mi wystarczyła ta zmiana:

 

edit file /config/defines.inc.php:

define('_PS_PRICE_DISPLAY_PRECISION_', 3); <-- change 2 into 3 here   (można wpisać zamiast trójki, piątkę albo jakąś inna liczbę)

Aby nie zaokrąglało ceny do drugiego miejsca, należy zrobić to:
 

Edit file classes/Tools.php   (Make backup!)

 

In there, there is a function:

    public static function ps_round($value, $precision = 0)
    {
        static $method = null;

        if ($method == null)
            $method = (int)Configuration::get('PS_PRICE_ROUND_MODE');

        if ($method == PS_ROUND_UP)
            return Tools::ceilf($value, $precision);
        elseif ($method == PS_ROUND_DOWN)
            return Tools::floorf($value, $precision);
        return round($value, $precision);
    }

please add the red code, inside this function:
 

    public static function ps_round($value, $precision = 0)
    {
        static $method = null;

                if ($precision == 2)  /* !!!Pas, quick fix for 2 decimals to variable decimals */
                        $precision = _PS_PRICE_DISPLAY_PRECISION_;

        if ($method == null)
            $method = (int)Configuration::get('PS_PRICE_ROUND_MODE');

        if ($method == PS_ROUND_UP)
            return Tools::ceilf($value, $precision);
        elseif ($method == PS_ROUND_DOWN)
            return Tools::floorf($value, $precision);
        return round($value, $precision);
    }


Tu zostawiam jeszcze link do tematu http://www.prestashop.com/forums/topic/244516-base-price-rounded-in-3-decimal-places/

 

 

 

  • Like 2
Link to comment
Share on other sites

  • 0

Jednak dalej mam pewien problem^^

na stronie głównej jest ok http://weallarefree.pl/pl/
w kategoriach jest ok http://weallarefree.pl/pl/8-koszulki
ale w karcie produktu jest już źle http://weallarefree.pl/pl/glowna/51-koszulka-taxation-is-theft-damska.html -.-

jaki plik odpowiada za kartę produktu? może tam muszę coś zmienić



dodam, że cena towarów które nie mają atrybutów wyświetla się dobrze^^

Edited by ermak3 (see edit history)
Link to comment
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...