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

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

СообщениеДобавлено: 27 июл 2016, 18:13
AlexZ
Доброго времени суток!
Подскажите пожалуйста, как изменить вывод информации из поля цена в объявлении.
Поподробнее: Хотелось бы стилизовать вывод вывод цены.
Сейчас она выводиться вот так:
Код: Выделить всё
<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>)

Рад буду любой помощи.

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

СообщениеДобавлено: 28 июл 2016, 10:25
andipas
На самом деле за вывод цены отвечает функция 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>';
 

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

СообщениеДобавлено: 22 авг 2016, 17:24
AlexZ
Спасибо, очень помогли.