Страница 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, '.', -6, 0);
$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, '.', -3, 0);
$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($price, 0, ' ', ' ') . ' ' . $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
анфокс
Спасибо. Все норм.