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

Как вывести текст вместо цены

Добавлено: 13.09.2022, 10:25
Aleks
Здравствуйте, уважаемые гуру веб-программирования.
Цену товара ставим 0.
Может кто подскажет как вывести текст вместо цены 0 руб. в превью и карточке товара . Например: цену уточняйте у менеджера.

Добавлено: 14.09.2022, 09:08
makki
В файле OkayCMS/design/okay_shop/html/product.tpl
Вместо

Код: Выделить всё

<span class="fn_price" itemprop="price" content="{$product->variant->price|convert:null:false}">{$product->variant->price|convert}</span>

Пишите

Код: Выделить всё

<span class="fn_price" itemprop="price" content="{$product->variant->price|convert:null:false}">{if $product->variant->price}{$product->variant->price|convert}{else}Цену уточняйте у менеджера{/if}</span>


Что то подобное нужно сделать и в файле OkayCMS/design/okay_shop/html/product_list.tpl

Добавлено: 14.09.2022, 17:52
Aleks
Спасибо за ответ.
Что-то у меня не получается вывести текст вместо цены 0. Ошибка, наверное, в файле product_list.tpl.

Добавлено: 14.09.2022, 18:49
makki
okay_shop - это название шаблона. У вас наверное свой. Соответственно нужно искать файлы в этой папке

Добавлено: 14.09.2022, 21:00
Aleks
С файлами ошибки нет. Пробую на дефолтном 4.3.0 в OpenServer.
Цену пишет, в т.ч. и 0,0, название валюты удаляет. См. скрин.

Добавлено: 15.09.2022, 07:16
korshunov
Пробуйте {if $product->variant->price > 0}.
Знак валюты выводится отдельным кодом {$currency->sign|escape}, добавляйте в нужное место.

Добавлено: 15.09.2022, 20:48
Aleks
Спасибо господа makki и korshunov. Все получилось. См. скрин. Почему то название валюты слилось с суммой.Пока не нашел как сдвинуть вправо.
Прилагаю строку кода. Может кому пригодится.
Спойлер
<span class="fn_price" itemprop="price" content="{$product->variant->price|convert:null:false}">{if $product->variant->price > 0}{$product->variant->price|convert}{$currency->sign|escape}{else}<span data-language="out_of_stock">{$lang->product_zapros}{/if}</span>

Добавлено спустя 26 минут 15 секунд:
Виноват. В спойлере в коде по недосмотру оказался лишний текст: <span data-language="out_of_stock">
Прилагаю исправленный вариант.

Код: Выделить всё

 span class="fn_price" itemprop="price" content="{$product->variant->price|convert:null:false}">{if $product->variant->price > 0}{$product->variant->price|convert}{$currency->sign|escape}{else}{$lang->product_zapros}{/if}</span>

Добавлено: 16.09.2022, 09:20
korshunov
Aleks писал(а):Почему то название валюты слилось с суммой.

Неужто не догадываетесь пробел вставить?

Добавлено: 16.09.2022, 15:37
Aleks
Догадался сегодня утром на свежую голову. вставил. Но потом убрал.
В theme.css:
.details_boxed__price .currency
margin-left: 5px
работает.