Форматирование своих полей в 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
Неужели никто не знает?
Ну, тут может быть проблема банально c minishop'ом, точно не скажу — последние версии пока не стабильны.
Могу предложить на правах самого простого варианта дописать фильтр вида [[+value:replace=`.00==`]]
Могу предложить на правах самого простого варианта дописать фильтр вида [[+value:replace=`.00==`]]
А вообще, при выводе на странице, значения выводит MODX через xPDO, и убирает лишние нули, превращая decimal в int.
Что же до значения в категории, то вы, видимо, вызываете их через msProducts, а там никакой обработки нет (он знает формат только для веса, цены и других дефолтных параметров) — а так как он не знает, что за значение вы выводите, то и выдает как есть в БД — decimal.
Что же до значения в категории, то вы, видимо, вызываете их через msProducts, а там никакой обработки нет (он знает формат только для веса, цены и других дефолтных параметров) — а так как он не знает, что за значение вы выводите, то и выдает как есть в БД — decimal.
да через msProducts, но тогда 1) почему до обновления все работало; 2) через что еще можно вы выводить товары, через pdoresources?
По первому вопросу, честно говоря — без понятия. Но, раз эта проблема возникла после обновления, вполне логично предположить, что дело в изменениях новой версии..)
По второму: msProducts работает или на pdoTools или на очень схожей механике, т.е. менять mProducts особого смысла нет — да и зачем, ведь он и предназначен для отображения подобной информации.
Тут или менять тип поля в бд (самый глупый из вариантов), или вешать &prepareSnippet на вызов или использовать вышеописанный фильтр — [[+value:replace=`.00==`]].
На мой взгляд третий вариант — самый лаконичный и удобочитаемый. Ну и лишнюю нагрузку почти не выдает.
По второму: msProducts работает или на pdoTools или на очень схожей механике, т.е. менять mProducts особого смысла нет — да и зачем, ведь он и предназначен для отображения подобной информации.
Тут или менять тип поля в бд (самый глупый из вариантов), или вешать &prepareSnippet на вызов или использовать вышеописанный фильтр — [[+value:replace=`.00==`]].
На мой взгляд третий вариант — самый лаконичный и удобочитаемый. Ну и лишнюю нагрузку почти не выдает.
да третий самый простой, воспользуюсь им если не найду в чем изменения (но не хочется ибо много различных выводов msProducts и в каждый придется забивать этот модификатор.)
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.