1

Тема: Как вывести произвольную цену в карточке товара

Допустим у меня есть "Розничная цена" у товара. Как вывести ее в карточке товара на сайте?
В product.tpl нашел следующее:

 <div class="fcost">
            {assign var=last_price value=$product->getCost('Зачеркнутая цена')}
            {if $last_price>0}<div class="lastPrice">{$last_price}</div>{/if}
            <span class="myCost price">{$product->getCost()}</span> {$product->getCurrency()}
</div>

но если меняю "Зачеркнутая цена" на "Розничная цена", то сумма не выводится. Подскажите как быть?

2 Отредактировано Александр (14.07.2015 11:21:53)

Re: Как вывести произвольную цену в карточке товара

Метод getCost('Наименование цены или ничего'), применяет точное соответствие названию цены. У Вас наименование цены совпадает с тем наименованием, что у Вас в системе заведено?
Если в этом методе наименование цены не использовать, а оставить пустым, то вернётся значение цены указанной в системе как по умолчанию.

{$product->getCost()}

У товара указана "Розничная цена"?
Вы можете проверить какой ответ возвращает метод так:

{var_dump($product->getCost())}

3

Re: Как вывести произвольную цену в карточке товара

У товара заданы "Розничные цены"
http://i48.fastpic.ru/big/2015/0714/b5/111e1f0363f541dae08f039f1ea51fb5.jpg



в product.tpl добавляю "Розничные цены"

<div class="fcost">
            {assign var=last_price value=$product->getCost('Розничные цены')}
            {if $last_price>0}<div class="lastPrice">{$last_price}</div>{/if}
            <span class="myCost price">{$product->getCost()}</span> {$product->getCurrency()}
</div>


на сайте выводится ноль
http://i47.fastpic.ru/big/2015/0714/0a/047da6e552551ca2be6da379d1b47e0a.jpg



вот эта штуковина

{var_dump($product->getCost('Розничные цены'))}

выводит 6550 все правильно.

4 Отредактировано Александр (14.07.2015 17:32:25)

Re: Как вывести произвольную цену в карточке товара

Что-то очень странно... вверху у вас не выводится. А в конструкции с var_dump выводит. Т.к. var_dump всего лишь выводит значение и его формат. Могу предположить что где-то ошиблись с написании.
Попробуйте так:

{assign var=last_price value=$product->getCost('Розничные цены', null, false)}
{if $last_price>0}<div class="lastPrice">{$product->getCost('Розничные цены')}</div>{/if}

5

Re: Как вывести произвольную цену в карточке товара

Понял закономерность. Цена не выводится у тех товаров, у которых есть комплектации. У товаров без комплектаций все в порядке.

6 Отредактировано Александр (15.07.2015 16:25:04)

Re: Как вывести произвольную цену в карточке товара

Понял закономерность. Цена не выводится у тех товаров, у которых есть комплектации. У товаров без комплектаций все в порядке.
----
Что-то очень странное у Вас.
Конструкция $product->getCost('Розничные цены'), всегда возвращает цену у комплектации основной. Конструкция, что я привел работает.

Я так подозреваю, что вы пытаетесь у товара сменить комплектацию и Вам пишем 0 рублей на Розничные цены.
Так? А для нулевой комплектации всё в порядке.
Если да, то обратите внимание в файле шаблона на строки с

data-change-cost

Они отвечают как раз за смену комплектаций, а именно за смену на нужную цену при их переключении, у Вас там что написано? Я так полагаю у Вас там берётся не та цена.

7

Re: Как вывести произвольную цену в карточке товара

Полагаю вы это имеете ввиду.

data-change-cost='{ ".offerBarcode": "{$offer.barcode|default:$product.barcode}", ".myCost": "{$product->getCost(null, $key)}"

8 Отредактировано Sergey T. (15.07.2015 16:42:09)

Re: Как вывести произвольную цену в карточке товара

Решено. Просто во всем product.tpl где встретилась зачеркнутая цена поменял на "Розничные цены" и все заработало. Спасибо!

Re: Как вывести произвольную цену в карточке товара

Не за что)