Страница 1 из 1

Разделить цену пробелами?

СообщениеДобавлено: 31 июл 2012, 11:43
DmitryGreen
Доброго времени суток, я не очень силен в PHP, если кто поможет буду благодарен!
Вопрос: Как разделить цену пробелами? вместо 2470000 руб. сделать 2 470 000 руб. (также вместо 120000 сделать 120 000) и т.д.

Re: Разделить цену пробелами?

СообщениеДобавлено: 31 июл 2012, 12:01
Xpycm
Файл protected\modules\apartments\models\Apartment.php

Замените:
Код: Выделить всё
public function getPrettyPrice(){
    
$price $this->getPriceFrom();

    if(!
param('usePrettyPrice'1) || Yii::app()->language != 'ru'){
        return 
$price ' ' $this->getCurrency();
    }

    if (
substr($price, -6) == "000000")
        
$priceStr substr_replace ($price' '.tt('million''apartments'), -6);
    elseif (
substr($price, -5) == "00000" && strlen($price) >= 7) {
        
$priceStr substr_replace ($price'.', -60);
        
$priceStr substr_replace ($priceStr' '.tt('million''apartments'), -5);
    } elseif (
substr($price, -3) == "000")
        
$priceStr substr_replace ($price' '.tt('thousand''apartments'), -3);
    elseif (
substr($price, -2) == "00" && strlen($price) >= 4) {
        
$priceStr substr_replace ($price'.', -30);
        
$priceStr substr_replace ($priceStr' '.tt('thousand''apartments'), -2);
    } else {
        
$priceStr $price.' '.$this->getCurrency();
        return 
$priceStr;
    }

    
$priceStr .= Currency::getCurrentCurrencyName().' '.self::getPriceName($this->price_type);
    return 
$priceStr;


на:
Код: Выделить всё
public function getPrettyPrice(){
    
$price $this->getPriceFrom();

    return 
number_format($price0' '' ') . ' ' $this->getCurrency();

Re: Разделить цену пробелами?

СообщениеДобавлено: 31 июл 2012, 12:03
Koduc
Функция может выглядеть несколько иначе (зависит от версии), но суть одна - заменить функцию целиком.
Но надо понимать, что после этого перестанет работать использование буквеных обозначений в цене, таких как "тыс.", "млн."

Re: Разделить цену пробелами?

СообщениеДобавлено: 31 июл 2012, 12:08
DmitryGreen
Спасибо теперь все норм! :-)

Re: Разделить цену пробелами?

СообщениеДобавлено: 29 сен 2013, 11:18
анфокс
Привет, тоже актуально. После изменений цена отображается , как надо, только при попытке редактирования объявлений "выпадает" ошибка

Error 500
В классе Apartment и его поведениях не найден метод или замыкание с именем "isPriceFromTo".

Как быть подскажите пож-ста.

Re: Разделить цену пробелами?

СообщениеДобавлено: 30 сен 2013, 10:04
Foton
ВЫ при замене кода скорее всего случайно удалили функцию isPriceFromTo, попробуйте восстановить её, вот код:
Код: Выделить всё
public function isPriceFromTo(){
        return 
$this->type == self::TYPE_RENTING || $this->type == self::TYPE_BUY;
    } 

Re: Разделить цену пробелами?

СообщениеДобавлено: 01 окт 2013, 17:46
анфокс
Спасибо. Все норм. *BRAVO*