Фильтры ввода и вывода и price minishop2
Добрый день!
Прошу помощи и совета, в карточке товара хочу выводить условие, в зависимости от цены. Например, если цена больше или равна 10000, то выводим одно условие, если меньше, то другое.
Делаю это вот так:
Спасибо!
Прошу помощи и совета, в карточке товара хочу выводить условие, в зависимости от цены. Например, если цена больше или равна 10000, то выводим одно условие, если меньше, то другое.
Делаю это вот так:
[[!+price:gte=`10000`:then=`Доставим этот товар бесплатно!`:else=`Доставка от 250 рублей`]]
Но условия выводятся некорректно, что я делаю не так и как можно реализовать такую штуку?Спасибо!
Комментарии: 10
Никто не знает?
Проверьте, всегда ли [[+price]] является числом. Это очень распространённая ошибка
Да, всегда, причем странность заключается в том, что товарам дешевле 1000 показывается `Доставка от 250 рублей`, от 1000 до 9999 показывает `Доставим этот товар бесплатно!`, 10тыс до 11 тыс `Доставка от 250 рублей`, все что свыше 11тыс опять `Доставим этот товар бесплатно!`. Логика абсолютно мне не понятна) Хотя в фильтре проставлено больше или ровно 10000…
Видимо значения берутся как текст и сравниваются по первому символу.
Привет, 2016!)
Привет, 2016!)
Не видя вывода плэйсхолдера цены, тяжело сказать. Там точно нет никаких знаков группирования тысяч? Например пробел?
Там 100% только цифры без пробелов и разделителей в виде точек или запятых, да и minishop2 не дает в поле цены вводить ничего кроме цифр в правильном формате. Весь мозг сломал, почему такая логика вывода получается
Тогда только один вариант — свой писать сниппет.
Насчет сниппета я поторопился. Идем в настройки системы-минишоп, там есть пункт о выводе цены (ms2_price_format), т.е. [[!+price]] не число, о чём я и говорил.
Если fenom включен — то можно так
{if $_modx->resource.price > '3499'}Бесплатно
{else}Платно
{/if}
Спасибо! То что надо!
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.