Цены без копеек на витрине


#1

Приветствую всех.

Возник вопрос: как убрать копейки из цены товаров на витрине?

У нас цены на все товары установлены в целых рублях без копеек и эти 2 ноля не несут никакого смысла. К тому же есть мнение (читал про исследования), что подсознательно такая цена воспринимается более высокой, чем при короткой записи без нолей. И правда, когда посмотрел в первый раз после изменения - всё такое дешёвое))

Я в настройках валют указал, чтобы отображалось ноль знаков после запятой. Но теперь стоимости доставки, скидок и т.п. просто стали округляться. И в 1С размер скидки вместо 3%, например, выгружается у каждого товара разный, как удалось округлить - 2,7%; 3,2%…

Кто подскажет, как по-человечески убрать ОТОБРАЖЕНИЕ копеек только в цене товаров, но не доставок, скидок и прочего?


#3

app/functions/smarty_plugins/modifier.format_price.php

попробуйте заменить

$currency['decimals'],

нв

0,

(!) Не тестировано


#4

Округляет доставки и скидка в корзине до рублей. Похоже в этом массиве как раз настройки валюты из админки.


#5

Вот такой код попробуйте

(AREA == 'C') ? 0 : $currency['decimals'],

Это округлит только для витрины. Для админки, базы и 1с будут использоваться значения с копейками


#6

Спасибо за подсказку.
Я написал
(substr($price, -2) == ‘0’) ? 0 : $currency[‘decimals’],
оно убирает копейки на витрине, но не убирает в Корзине, Оформлении заказа и в деталях заказа ЛК пользователя. Ну, хотя бы так.

Хорошо бы настройку в Карте, чтобы незначащие ноли в цене откидывались.


#7

Попробовал, вроде работает, будем тестировать дальше


#8

а подскажите, пожалуйста, как сделать для определенных витрин только?


#9

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

if (in_array(Registry::get('runtime.company_id'), [1, 5, 7])) {
    .....
}

где 1,5,7 - ID нужных витрин


#10

У меня это работает, но если подставить вместо 0 свою переменную, то срабатывает в карточке и плитках товара, но не работает в корзине, миникорзине и в оформлении заказа.
На ценах по акции тоже не работает. Почему так?


#11

Не могу сказать. Все цены проходят через этот скрипт на витрине.


#12

Также пользуюсь вашим кодом для удаления копеек на витрине. Спасибо.
(AREA == 'C') ? 0 : $currency['decimals'],

Можно ли сделать, что бы копейки на витрине остались только в НДС? Так как при оформлении заказа создаются счета на оплату для юр.лиц и там нужный точный расчет НДС с копейками.


#13

2 строчками не отделаться, нужны более сложные изменения