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

Вопросы и ответы по изменению функционала, смене дизайна, переносу сайта и т.п.

Модераторы: Xpycm, Koduc

Правила форума
ВНИМАНИЕ! Форум не является средством гарантированной поддержки клиентов и пользователей. Поэтому на быстрый ответ тут рассчитывать не нужно, как и на ответ вообще. Сотрудники отвечают по мере своих возможностей.

На форуме действует ограничение в 3 сообщения / сутки.
Если Вы хотите сказать "спасибо", то воспользуйтесь функцией "Повысить репутацию" - зелёная иконка "плюс" под ником ответившего.

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

Сообщение DmitryGreen » 31 июл 2012, 11:43

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

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

Сообщение Xpycm » 31 июл 2012, 12:01

Файл 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();
Dropbox
Open Real Estate CMS: FAQ | FAQ 2 | FAQ 3
Изображение
Xpycm
Разработчик
Разработчик
 
Сообщения: 1592
Зарегистрирован: 30 дек 2011, 11:06
Откуда: Йошкар-Ола
Очки репутации: 50

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

Сообщение Koduc » 31 июл 2012, 12:03

Функция может выглядеть несколько иначе (зависит от версии), но суть одна - заменить функцию целиком.
Но надо понимать, что после этого перестанет работать использование буквеных обозначений в цене, таких как "тыс.", "млн."
-- Меньше знаешь - крепче спишь --
Аватара пользователя
Koduc
Ведущий разработчик
Ведущий разработчик
 
Сообщения: 902
Зарегистрирован: 28 дек 2011, 09:11
Очки репутации: 20

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

Сообщение DmitryGreen » 31 июл 2012, 12:08

Спасибо теперь все норм! :-)
DmitryGreen
Незнакомец
 
Сообщения: 16
Зарегистрирован: 21 июн 2012, 10:45
Очки репутации: 3

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

Сообщение анфокс » 29 сен 2013, 11:18

Привет, тоже актуально. После изменений цена отображается , как надо, только при попытке редактирования объявлений "выпадает" ошибка

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

Как быть подскажите пож-ста.
анфокс
Незнакомец
 
Сообщения: 3
Зарегистрирован: 05 сен 2013, 17:25
Очки репутации: 0

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

Сообщение Foton » 30 сен 2013, 10:04

ВЫ при замене кода скорее всего случайно удалили функцию isPriceFromTo, попробуйте восстановить её, вот код:
Код: Выделить всё
public function isPriceFromTo(){
        return 
$this->type == self::TYPE_RENTING || $this->type == self::TYPE_BUY;
    } 
Foton
Разработчик
Разработчик
 
Сообщения: 431
Зарегистрирован: 26 янв 2012, 14:58
Очки репутации: 8

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

Сообщение анфокс » 01 окт 2013, 17:46

Спасибо. Все норм. *BRAVO*
анфокс
Незнакомец
 
Сообщения: 3
Зарегистрирован: 05 сен 2013, 17:25
Очки репутации: 0


Вернуться в Вопросы и помощь по изменениям

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 36

cron