Как изменить вывод информации "цена"

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

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

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

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

Как изменить вывод информации "цена"

Сообщение AlexZ » 27 июл 2016, 18:13

Доброго времени суток!
Подскажите пожалуйста, как изменить вывод информации из поля цена в объявлении.
Поподробнее: Хотелось бы стилизовать вывод вывод цены.
Сейчас она выводиться вот так:
Код: Выделить всё
<div class="price-realty-block">Цена: 1.2 тыс. руб. за час</div> 

и отвечает за это код:
Код: Выделить всё

<?php
        if
($data->canShowInView('price')) {
            echo '<div class="price-realty-block">';
            if ($data->is_price_poa)
                echo tt('is_price_poa', 'apartments');
            else
                echo tt
('Price from') . ': ' . $data->getPrettyPrice();
            echo '</div>';
        }
    ?>

Хотелось бы разделить на 2 части сама цена и тип предложения, например так:
Код: Выделить всё
<div class="price-realty-block">Цена: 1.2 тыс. <span>руб. за час</span></div> 

Тоесть руб. за час "засунуть" в отдельный блок. (<div> или <span>)

Рад буду любой помощи.
AlexZ
Незнакомец
 
Сообщения: 3
Зарегистрирован: 27 июл 2016, 18:02
Очки репутации: 0

Re: Как изменить вывод информации "цена"

Сообщение andipas » 28 июл 2016, 10:25

На самом деле за вывод цены отвечает функция getPrettyPrice, а там уже не все так просто. Для темы atlas подгружаются шаблоны, которые подставляется в зависимости от выбранного языка сайта и типа цены, эти шаблоны можно найти в базе данных в таблице lang - price_tpl_default, price_tpl_from, price_tpl_to

Если вы используете тему classic то код отвечающий за вывод цены, такой:
Код: Выделить всё

            if 
($isPriceFromTo) {
                $priceFromTo = '';
                if ($price)
                    $priceFromTo = tc('price_from') . ' ' . $this->setPretty($price) . ' ' . $this->getCurrency();
                if ($priceTo)
                    $priceFromTo .= $priceTo ? ' ' . tc('price_to') . ' ' . $this->setPretty($priceTo) . ' ' . $this->getCurrency() : '';

                return $priceFromTo;
            }
            return $this->setPretty($price) . ' ' . $this->getCurrency() . ' ' . (($showPriceType) ? HApartment::getPriceName($priceType) : '');
 


соответственно вам нужно поменять последнюю строку на:
Код: Выделить всё

return $this
->setPretty($price) . ' <span>' . $this->getCurrency() . ' ' . (($showPriceType) ? HApartment::getPriceName($priceType) : '').'</span>';
 
Часто задаваемые вопросы. Для правки файлов notepad++, netbeans, phpStorm. Для правки CSS firebug.
Аватара пользователя
andipas
Разработчик
Разработчик
 
Сообщения: 695
Зарегистрирован: 28 дек 2011, 22:37
Очки репутации: 30

Re: Как изменить вывод информации "цена"

Сообщение AlexZ » 22 авг 2016, 17:24

Спасибо, очень помогли.
AlexZ
Незнакомец
 
Сообщения: 3
Зарегистрирован: 27 июл 2016, 18:02
Очки репутации: 0


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

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

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

cron