Формат поля Цена в Админке не соответствует количеству знаков после запятой в установках Валюты. И в product_form.tpl и в product_list.tpl Это правильно? Лишние нули только путают, да и если в настройках указано 2 для Рубля, то зачем показывать 4 ? Конечно можно сделать исправляющее расширение-модификатор ...
Полная чушь эти лишние нули, и почему тогда только 4 нуля, а не 6-8-10 ? В чем великий смысл создателя?
спросите создателя Даниеля.. Вы же задаете вопрос, вам отвечают. Если знаете ответ, так предлагайте как положено, а не намеками и вопросами! В чем проблема написать про это в соответствующей теме и предложить решение или предложение??
Ок, лучше подскажите где формируется $product['price'] в админке, т.к. на сайте оно уже с форматом и разделителем и знаком валюты, а в админке пустое и не хочется простой number_format(,2,) вставлять. Надо же использовать данные настройки валюты.
В админку данные берутся напрямую из базы и поэтому показываются так как есть, со всеми нулями итд. В админке в списке товаров, чтобы уменьшить кол-во знаков в зависимости от настроек, делаем так. в контроллере \admin\controller\catalog\product.php меняем это 'price' => $result['price'], (~370 строка) на это 'price' => number_format(round($result['price'], (int)$this->currency->getDecimalPlace()), (int)$this->currency->getDecimalPlace(), '.', ''),
Как тоже самое сделать в ocStore 2.1.0.2.1 ? А то чет именно эта замена не помогает. Причем в этом файле 2 раза встречается исходная строка. Пробовал заменить по одной и сразу 2 - не помогло. Надоело уже стирать это 4 нуля
Не подскажите вариант для ocStore 2.3.0.2.3? Вылезло: Notice: Undefined variable: currency in ../system/library/cart/currency.php on line Warning: Missing argument 1 for Cart\Currency::getDecimalPlace(), called in ../system/storage/modification/admin/controller/catalog/product.php on line 420 and defined in ../system/library/cart/currency.php on line
для 2.3 видимо так PHP: 'price' => number_format(round($result['price'], (int)$this->currency->getDecimalPlace($this->config->get('config_currency'))), (int)$this->currency->getDecimalPlace($this->config->get('config_currency')), '.', ''),
Для тех кто не понимает почему 4 нуля, и считает єто бредом. 4ре нуля это общепринятая МИРОВАЯ практика работы с денежным форматом, тогда точность расчетов и погрешность становятся достаточно малыми величинами
Чтобы уменьшить в скидке: Код: 'special' => $special, Заменяем на: Код: 'special' => number_format(round($special, (int)$this->currency->getDecimalPlace($this->config->get('config_currency'))), (int)$this->currency->getDecimalPlace($this->config->get('config_currency')), '.', ''), В моем случае используются только рубли...
Да какая разница.. Вам мешают 0000 - но в абез они будут так храниться number_format(round($special, (int)$this->currency->getDecimalPlace($this->config->get('config_currency'))), (int)$this->currency->getDecimalPlace($this->config->get('config_currency')), '.', ''), Зачем вам это? что вы этим хотите добиться? достаточно только round(число, 2) Что ж вы, например, точку не меняете на запятую? Ведь так принято?