В стандартных настройках Minishop2 для полей price и old_price установлено ограничение ввода на 2 знака после запятой.
Речь об этих полях, которые на скриншоте переназваны согласно требованию заказчика.
Заказчик хотел 3 знака после запятой.
Разработчик компонента предусмотрел такую ситуацию и указал в системных настройках компонента что и где надо поменять.
Но это не работает.
Это не мое решение, но оно комплексное и собранное из разного рода google-поисков по разрозненным ресурсам.
Мне удалось сделать это путем изменений в 4 (четырех) местах:
Только после этого и очисток кэша (физического и админки) все заработало.
Путь к файлу ../core/components/minishop2/processors/mgr/product/getlist.class.php
Найти и заменить 2 на 3 или необходимое количество
$array['price'] = round($array['price'], 2);
$array['old_price'] = round($array['old_price'], 2);
Путь к файлу ../assets/components/minishop2/js/mgr/product/product.common.js
Найти и заменить decimalPrecision 2 на 3 или необходимое количество
price: {
xtype: 'numberfield',
decimalPrecision: 3,
description: '
' + _('ms2_product_price_help')
},
old_price: {
xtype: 'numberfield',
decimalPrecision: 3,
description: '
' + _('ms2_product_old_price_help')
},
Путь к файлу ../core/components/minishop2/model/schema/minishop2.mysql.schema.xml
Найти и заменить precision c 12,2 на 13,3 (по аналогии с weight) в object "table="ms2_products" для
key="price" и key="old_price"
precision="13,3"
Через phpmyadmin или другим доступным способом найти таблицу modx_ms2_products
Изменить поля (для простоты сделать как у weight)
Не проверял с большим количеством, но по "3" результат есть.