Форматирование своих полей в msProducts
После обновления минишопа до 2.1.11-pl перестали убираться лишние нули у дополнительных цен (свои дополнительные поля) в каталоге, при этом на странице самого товара цены по прежнему форматируются правильно. форматирую так
$pls['price'] = $miniShop2->formatPrice($pls['price']);
$pls['price2'] = $miniShop2->formatPrice($pls['price2']); в файле core/components/minishop2/model/minishop2/msproduct.class.php Комментарии: 6
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Могу предложить на правах самого простого варианта дописать фильтр вида [[+value:replace=`.00==`]]
Что же до значения в категории, то вы, видимо, вызываете их через msProducts, а там никакой обработки нет (он знает формат только для веса, цены и других дефолтных параметров) — а так как он не знает, что за значение вы выводите, то и выдает как есть в БД — decimal.
По второму: msProducts работает или на pdoTools или на очень схожей механике, т.е. менять mProducts особого смысла нет — да и зачем, ведь он и предназначен для отображения подобной информации.
Тут или менять тип поля в бд (самый глупый из вариантов), или вешать &prepareSnippet на вызов или использовать вышеописанный фильтр — [[+value:replace=`.00==`]].
На мой взгляд третий вариант — самый лаконичный и удобочитаемый. Ну и лишнюю нагрузку почти не выдает.