Shkip Опубликовано: 21 августа 2014 Поделиться Опубликовано: 21 августа 2014 вам вот такое надо? отображается в модулях, каталоге, карточке товара, сравнении, производители Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 22 августа 2014 Поделиться Опубликовано: 22 августа 2014 Да, оно. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 22 августа 2014 Поделиться Опубликовано: 22 августа 2014 контроллер if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data['price_'] = $product_info['price']; } else { $this->data['price'] = false; $this->data['price_usd'] = false; } и в таком же стиле остальные цены карточка товара <?php if ($price) { ?> <div class="price"><?php echo $text_price; ?> <?php if (!$special) { ?> <?php echo $price; ?><?php echo ' ($'. round($price_usd,0) . ') '; ?> <?php } else { ?> <span class="price-old"><?php echo $price; ?><?php echo ' ($'. round($price_usd,0) . ') '; ?></span> <span class="price-new"><?php echo $special; ?><?php echo ' ($'. round($special_usd,0) . ') '; ?></span> <?php } ?> <br /> <?php if ($points) { ?> <span class="reward"><small><?php echo $text_points; ?> <?php echo $points; ?></small></span><br /> <?php } ?> <?php if ($discounts) { ?> <br /> <div class="discount"> <?php foreach ($discounts as $discount) { ?> <?php echo sprintf($text_discount, $discount['quantity'], $discount['price']); ?><?php echo ' ($'. round($discount['price_usd'],0) . ') '; ?><br /> <?php } ?> </div> <?php } ?> </div> <?php } ?> результат Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 22 августа 2014 Поделиться Опубликовано: 22 августа 2014 Блин, проделал всё как написано: /public_html/catalog/view/theme/default/template/product/product.tpl <div class="price"><?php echo $text_price; ?> <?php if (!$special) { ?> <?php echo $price; ?> <?php } else { ?> <span class="price-old"><?php echo $price; ?><?php echo ' ($'. round($price_byr,0) . ') '; ?></span> <span class="price-new"><?php echo $special; ?><?php echo ' ($'. round($special_byr,0) . ') '; ?></span> <?php } ?> <br /> <?php if ($tax) { ?> <span class="price-tax"><?php echo $text_tax; ?> <?php echo $tax; ?></span><br /> <?php } ?> <?php if ($points) { ?> <span class="reward"><small><?php echo $text_points; ?> <?php echo $points; ?></small></span><br /> <?php } ?> <?php if ($discounts) { ?> <br /> <div class="discount"> <?php foreach ($discounts as $discount) { ?> <?php echo sprintf($text_discount, $discount['quantity'], $discount['price']); ?><?php echo ' ($'. round($discount['price_byr'],0) . ') '; ?><br /> <?php } ?> </div> /public_html/catalog/controller/product/product.php if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data['price_'] = $product_info['price']; } else { $this->data['price'] = false; $this->data['price_byr'] = false; } if ((float)$product_info['special']) { $this->data['special'] = $this->currency->format($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax'))); } else { $this->data['special'] = false; } if ($this->config->get('config_tax')) { $this->data['tax'] = $this->currency->format((float)$product_info['special'] ? $product_info['special'] : $product_info['price']); } else { $this->data['tax'] = false; } $discounts = $this->model_catalog_product->getProductDiscounts($this->request->get['product_id']); $this->data['price_'] = $this->currency->convert($product_info['price'], 'EUR', 'BYR'); $this->data['discounts'] = array(); foreach ($discounts as $discount) { $this->data['discounts'][] = array( 'quantity' => $discount['quantity'], 'price' => $this->currency->format($this->tax->calculate($discount['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))) ); } Цена как было в евро, так и осталась :| . Блин не врубаюсь почему. Может когда я удалял из шаблона смену валюты нечаянно удалил функцию конвертации? И ещё вопросик: $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')));$this->data['price_'] = $product_info['price']; } else { $this->data['price'] = false; $this->data['price_byr] = false; Переменные должны быть разными? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 22 августа 2014 Поделиться Опубликовано: 22 августа 2014 Переменные должны быть разными? не, там usd потерялся)) правильно вот так $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data['price_byr'] = $product_info['price']; } else { $this->data['price'] = false; $this->data['price_byr'] = false; в библиотеке валюты изменения вносили? я как то упустил этот момент if ($currency == 'BYR') по настройке: в параметрах локализации поставить EUR, переключатель валют можно удалить, он все равно не будет работать Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 23 августа 2014 Поделиться Опубликовано: 23 августа 2014 Переменную изменил. Всё равно одна цена в евро(( if ($currency == 'BYR') А вот тут если можно поподробней)) Это в файле /public_html/system/library/currency.php ? Что туда добавить? по настройке: в параметрах локализации поставить EUR, переключатель валют можно удалить, он все равно не будет работать В настройках евро стоит по умолчанию, BYR включен, конвертация в админке правильная. Переключатель валют давно уже удалил. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 24 августа 2014 Поделиться Опубликовано: 24 августа 2014 делал давно, вот что нашел у себя в склерознике: Дано: магазин в Белоруси, цены в админке в USD. Необходимо: в магазине отображать цены в белорусских рублях с округлением до 1 тысячи, а рядом ,в скобках, цены в USD. Реализация: 1. …\system\library\currency.php устанавливаем валюту по умолчанию BYR $this->set($this->config->get('config_currency')); меняем на $this->set('BYR'); 2. в этом же файле ,…\system\library\currency.php, делаем округление до 1 тысячи $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); меняем на if ($currency == 'BYR') $string .= number_format(round($value, -3), (int)$decimal_place, $decimal_point, $thousand_point); else { $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); } После этих изменений цена в магазине будет отображаться только в BYR, округление будет до 1 тысячи, выбор валют перестанет работать, так что его можно удалить в шаблоне. Сделанные изменения могут работать независимо друг от друга. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 24 августа 2014 Поделиться Опубликовано: 24 августа 2014 Всё, удалось вывести 2 цену. А проблема была в том, что в файле product.tpl <div class="price"><?php echo $text_price; ?> <?php if (!$special) { ?> <?php echo $price; ?> ВОТ ТУТ Я ЗАБЫЛ ДОБАВИТЬ <?php echo $price_byr; ?> <?php } else { ?> <span class="price-old"><?php echo $price; ?><?php echo ' ($'. round($price_byr,0) . ') '; ?></span> <span class="price-new"><?php echo $special; ?><?php echo ' ($'. round($special_byr,0) . ') '; ?></span> <?php } ?> <br /> <?php if ($tax) { ?> <span class="price-tax"><?php echo $text_tax; ?> <?php echo $tax; ?></span><br /> <?php } ?> <?php if ($points) { ?> <span class="reward"><small><?php echo $text_points; ?> <?php echo $points; ?></small></span><br /> <?php } ?> <?php if ($discounts) { ?> <br /> <div class="discount"> <?php foreach ($discounts as $discount) { ?> <?php echo sprintf($text_discount, $discount['quantity'], $discount['price']); ?><?php echo ' ($'. round($discount['price_byr'],0) . ') '; ?><br /> <?php } ?> </div> Теперь вылезла другая проблема. Как у тебя реализованы пробелы в стоимости с б. рублях? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 24 августа 2014 Поделиться Опубликовано: 24 августа 2014 пробел перед руб. в настройке валют Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 27 августа 2014 Поделиться Опубликовано: 27 августа 2014 а где в настройке валют руб. ? Может я не правильно выразился. Я имел в виду, что у меня к примеру цена выглядит 12345000, а хотелось бы 12 345 000 . Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 27 августа 2014 Поделиться Опубликовано: 27 августа 2014 а где в настройке валют руб. ? Может я не правильно выразился. Я имел в виду, что у меня к примеру цена выглядит 12345000, а хотелось бы 12 345 000 . ...\catalog\language\russian\russian.php $_['thousand_point'] = ' '; Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 28 августа 2014 Поделиться Опубликовано: 28 августа 2014 ...\catalog\language\russian\russian.php $_['thousand_point'] = ' '; Поставил $_['thousand_point'] = 'ВОТ ТУТ ПРОБЕЛ '; Ничего не поменялось.. Видимо срабатывет только для первой цены. Почему не распространяется на вторую? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 29 августа 2014 Поделиться Опубликовано: 29 августа 2014 потому что не установлен формат второй цены, используется просто число, символ валюты установлен вручную Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 29 августа 2014 Поделиться Опубликовано: 29 августа 2014 round($price_byr,0) заменить на number_format($price_byr , 0 , '.' , ' ') Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 29 августа 2014 Поделиться Опубликовано: 29 августа 2014 Не выходит.. Цена сразу 0. Подытожим. Если в конфиге прописывать $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data['price_byr'] = $product_info['price']; } else { $this->data['price'] = false; $this->data['price_byr'] = false; То второй цене присваивается значение первой цены, т.е. , отображаются 2 одинаковые цены. Поэтому в конфиге прописал if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data['price_2'] = "(".round($this->currency->convert($product_info['price'], 'EUR', 'BYR'), '0')." руб.)"; } else { $this->data['price'] = false; } В шаблоне <?php echo $price_2; ?> Если пишу в шаблоне <?php echo number_format((double)$price_2 , 0 , '.' , ' '); ?> То price_2 вообще не отображается, а отображается 0. Не могу въехать.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 30 августа 2014 Поделиться Опубликовано: 30 августа 2014 сделайте все по моему коду - все работает, скрины я вам выкладывал. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 31 августа 2014 Поделиться Опубликовано: 31 августа 2014 В том то и дело, что делал. Но вторая цена почему то принимает значение первой цены. if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data['price_usd'] = $product_info['price']; } else { $this->data['price'] = false; $this->data['price_usd'] = false; } Может Вы где нибудь в другом месте прописывали конвертацию? Потому как судя по коду price_usd принимает обычную цену. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 1 сентября 2014 Поделиться Опубликовано: 1 сентября 2014 Всё, спасибо за помощь, разобрался.В product.tpl <?php if (($this->currency->getCode())!='BYR') { echo ' / '. number_format($price_by, 0, '.', ' ') . ' rub';} ?> В product.php функция конвертации. Осталось округлить до тысяч. Не подскажите что прописать в number_format для округления до 1 000. В currency.php прописано if ($currency == 'BYR') { $string .= number_format(round($value, -3), (int)$decimal_place, $decimal_point, $thousand_point); } else { $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); } цена всё равно 4 493 600 (к примеру) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 5 сентября 2014 Поделиться Опубликовано: 5 сентября 2014 Shkip, не подскажете как округлить цену? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 5 сентября 2014 Поделиться Опубликовано: 5 сентября 2014 ваш код отличается от моегоокругление до 1000 я делал так:в файле …\system\library\currency.php, делаем округление до 1 тысячи $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); меняем на if ($currency == 'BYR') $string .= number_format(round($value, -3), (int)$decimal_place, $decimal_point, $thousand_point); } else { $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); } вы попробуйте так number_format(round($price_by, -3), 0, '.', ' ') Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 7 сентября 2014 Поделиться Опубликовано: 7 сентября 2014 вы попробуйте так number_format(round($price_by, -3), 0, '.', ' ') Большое спасибо! Работает! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... markimax Опубликовано: 7 сентября 2014 Поделиться Опубликовано: 7 сентября 2014 Может суть запроса была такая чтобы напротив каждой цены была кнопка "Купить" т.е. нажимаешь "Купить" в USD и в корзину идет товар и валюта переключается на USD? Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 4 месяца спустя... domtermo Опубликовано: 18 января 2015 Поделиться Опубликовано: 18 января 2015 Может кто в курсе почему вторая цена одинакова на все товары и конвертируется с последнего товара? Касается всех модулей кроме product. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 18 января 2015 Поделиться Опубликовано: 18 января 2015 Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Подскажите пожалуйста код для конвертации прямо в шаблоне без контроллера. Интересно конкретно для модуля latest. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 19 января 2015 Поделиться Опубликовано: 19 января 2015 Помогите пожалуйста, очень нужно. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 Вперёд Страница 2 из 3 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Установка, обновление, настройка отображение двух валют в opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
domtermo Опубликовано: 22 августа 2014 Поделиться Опубликовано: 22 августа 2014 Да, оно. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Shkip Опубликовано: 22 августа 2014 Поделиться Опубликовано: 22 августа 2014 контроллер if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data['price_'] = $product_info['price']; } else { $this->data['price'] = false; $this->data['price_usd'] = false; } и в таком же стиле остальные цены карточка товара <?php if ($price) { ?> <div class="price"><?php echo $text_price; ?> <?php if (!$special) { ?> <?php echo $price; ?><?php echo ' ($'. round($price_usd,0) . ') '; ?> <?php } else { ?> <span class="price-old"><?php echo $price; ?><?php echo ' ($'. round($price_usd,0) . ') '; ?></span> <span class="price-new"><?php echo $special; ?><?php echo ' ($'. round($special_usd,0) . ') '; ?></span> <?php } ?> <br /> <?php if ($points) { ?> <span class="reward"><small><?php echo $text_points; ?> <?php echo $points; ?></small></span><br /> <?php } ?> <?php if ($discounts) { ?> <br /> <div class="discount"> <?php foreach ($discounts as $discount) { ?> <?php echo sprintf($text_discount, $discount['quantity'], $discount['price']); ?><?php echo ' ($'. round($discount['price_usd'],0) . ') '; ?><br /> <?php } ?> </div> <?php } ?> </div> <?php } ?> результат Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 22 августа 2014 Поделиться Опубликовано: 22 августа 2014 Блин, проделал всё как написано: /public_html/catalog/view/theme/default/template/product/product.tpl <div class="price"><?php echo $text_price; ?> <?php if (!$special) { ?> <?php echo $price; ?> <?php } else { ?> <span class="price-old"><?php echo $price; ?><?php echo ' ($'. round($price_byr,0) . ') '; ?></span> <span class="price-new"><?php echo $special; ?><?php echo ' ($'. round($special_byr,0) . ') '; ?></span> <?php } ?> <br /> <?php if ($tax) { ?> <span class="price-tax"><?php echo $text_tax; ?> <?php echo $tax; ?></span><br /> <?php } ?> <?php if ($points) { ?> <span class="reward"><small><?php echo $text_points; ?> <?php echo $points; ?></small></span><br /> <?php } ?> <?php if ($discounts) { ?> <br /> <div class="discount"> <?php foreach ($discounts as $discount) { ?> <?php echo sprintf($text_discount, $discount['quantity'], $discount['price']); ?><?php echo ' ($'. round($discount['price_byr'],0) . ') '; ?><br /> <?php } ?> </div> /public_html/catalog/controller/product/product.php if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data['price_'] = $product_info['price']; } else { $this->data['price'] = false; $this->data['price_byr'] = false; } if ((float)$product_info['special']) { $this->data['special'] = $this->currency->format($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax'))); } else { $this->data['special'] = false; } if ($this->config->get('config_tax')) { $this->data['tax'] = $this->currency->format((float)$product_info['special'] ? $product_info['special'] : $product_info['price']); } else { $this->data['tax'] = false; } $discounts = $this->model_catalog_product->getProductDiscounts($this->request->get['product_id']); $this->data['price_'] = $this->currency->convert($product_info['price'], 'EUR', 'BYR'); $this->data['discounts'] = array(); foreach ($discounts as $discount) { $this->data['discounts'][] = array( 'quantity' => $discount['quantity'], 'price' => $this->currency->format($this->tax->calculate($discount['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))) ); } Цена как было в евро, так и осталась :| . Блин не врубаюсь почему. Может когда я удалял из шаблона смену валюты нечаянно удалил функцию конвертации? И ещё вопросик: $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')));$this->data['price_'] = $product_info['price']; } else { $this->data['price'] = false; $this->data['price_byr] = false; Переменные должны быть разными? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 22 августа 2014 Поделиться Опубликовано: 22 августа 2014 Переменные должны быть разными? не, там usd потерялся)) правильно вот так $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data['price_byr'] = $product_info['price']; } else { $this->data['price'] = false; $this->data['price_byr'] = false; в библиотеке валюты изменения вносили? я как то упустил этот момент if ($currency == 'BYR') по настройке: в параметрах локализации поставить EUR, переключатель валют можно удалить, он все равно не будет работать Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 23 августа 2014 Поделиться Опубликовано: 23 августа 2014 Переменную изменил. Всё равно одна цена в евро(( if ($currency == 'BYR') А вот тут если можно поподробней)) Это в файле /public_html/system/library/currency.php ? Что туда добавить? по настройке: в параметрах локализации поставить EUR, переключатель валют можно удалить, он все равно не будет работать В настройках евро стоит по умолчанию, BYR включен, конвертация в админке правильная. Переключатель валют давно уже удалил. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 24 августа 2014 Поделиться Опубликовано: 24 августа 2014 делал давно, вот что нашел у себя в склерознике: Дано: магазин в Белоруси, цены в админке в USD. Необходимо: в магазине отображать цены в белорусских рублях с округлением до 1 тысячи, а рядом ,в скобках, цены в USD. Реализация: 1. …\system\library\currency.php устанавливаем валюту по умолчанию BYR $this->set($this->config->get('config_currency')); меняем на $this->set('BYR'); 2. в этом же файле ,…\system\library\currency.php, делаем округление до 1 тысячи $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); меняем на if ($currency == 'BYR') $string .= number_format(round($value, -3), (int)$decimal_place, $decimal_point, $thousand_point); else { $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); } После этих изменений цена в магазине будет отображаться только в BYR, округление будет до 1 тысячи, выбор валют перестанет работать, так что его можно удалить в шаблоне. Сделанные изменения могут работать независимо друг от друга. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 24 августа 2014 Поделиться Опубликовано: 24 августа 2014 Всё, удалось вывести 2 цену. А проблема была в том, что в файле product.tpl <div class="price"><?php echo $text_price; ?> <?php if (!$special) { ?> <?php echo $price; ?> ВОТ ТУТ Я ЗАБЫЛ ДОБАВИТЬ <?php echo $price_byr; ?> <?php } else { ?> <span class="price-old"><?php echo $price; ?><?php echo ' ($'. round($price_byr,0) . ') '; ?></span> <span class="price-new"><?php echo $special; ?><?php echo ' ($'. round($special_byr,0) . ') '; ?></span> <?php } ?> <br /> <?php if ($tax) { ?> <span class="price-tax"><?php echo $text_tax; ?> <?php echo $tax; ?></span><br /> <?php } ?> <?php if ($points) { ?> <span class="reward"><small><?php echo $text_points; ?> <?php echo $points; ?></small></span><br /> <?php } ?> <?php if ($discounts) { ?> <br /> <div class="discount"> <?php foreach ($discounts as $discount) { ?> <?php echo sprintf($text_discount, $discount['quantity'], $discount['price']); ?><?php echo ' ($'. round($discount['price_byr'],0) . ') '; ?><br /> <?php } ?> </div> Теперь вылезла другая проблема. Как у тебя реализованы пробелы в стоимости с б. рублях? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 24 августа 2014 Поделиться Опубликовано: 24 августа 2014 пробел перед руб. в настройке валют Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 27 августа 2014 Поделиться Опубликовано: 27 августа 2014 а где в настройке валют руб. ? Может я не правильно выразился. Я имел в виду, что у меня к примеру цена выглядит 12345000, а хотелось бы 12 345 000 . Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 27 августа 2014 Поделиться Опубликовано: 27 августа 2014 а где в настройке валют руб. ? Может я не правильно выразился. Я имел в виду, что у меня к примеру цена выглядит 12345000, а хотелось бы 12 345 000 . ...\catalog\language\russian\russian.php $_['thousand_point'] = ' '; Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 28 августа 2014 Поделиться Опубликовано: 28 августа 2014 ...\catalog\language\russian\russian.php $_['thousand_point'] = ' '; Поставил $_['thousand_point'] = 'ВОТ ТУТ ПРОБЕЛ '; Ничего не поменялось.. Видимо срабатывет только для первой цены. Почему не распространяется на вторую? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 29 августа 2014 Поделиться Опубликовано: 29 августа 2014 потому что не установлен формат второй цены, используется просто число, символ валюты установлен вручную Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 29 августа 2014 Поделиться Опубликовано: 29 августа 2014 round($price_byr,0) заменить на number_format($price_byr , 0 , '.' , ' ') Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 29 августа 2014 Поделиться Опубликовано: 29 августа 2014 Не выходит.. Цена сразу 0. Подытожим. Если в конфиге прописывать $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data['price_byr'] = $product_info['price']; } else { $this->data['price'] = false; $this->data['price_byr'] = false; То второй цене присваивается значение первой цены, т.е. , отображаются 2 одинаковые цены. Поэтому в конфиге прописал if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data['price_2'] = "(".round($this->currency->convert($product_info['price'], 'EUR', 'BYR'), '0')." руб.)"; } else { $this->data['price'] = false; } В шаблоне <?php echo $price_2; ?> Если пишу в шаблоне <?php echo number_format((double)$price_2 , 0 , '.' , ' '); ?> То price_2 вообще не отображается, а отображается 0. Не могу въехать.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 30 августа 2014 Поделиться Опубликовано: 30 августа 2014 сделайте все по моему коду - все работает, скрины я вам выкладывал. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 31 августа 2014 Поделиться Опубликовано: 31 августа 2014 В том то и дело, что делал. Но вторая цена почему то принимает значение первой цены. if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data['price_usd'] = $product_info['price']; } else { $this->data['price'] = false; $this->data['price_usd'] = false; } Может Вы где нибудь в другом месте прописывали конвертацию? Потому как судя по коду price_usd принимает обычную цену. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 1 сентября 2014 Поделиться Опубликовано: 1 сентября 2014 Всё, спасибо за помощь, разобрался.В product.tpl <?php if (($this->currency->getCode())!='BYR') { echo ' / '. number_format($price_by, 0, '.', ' ') . ' rub';} ?> В product.php функция конвертации. Осталось округлить до тысяч. Не подскажите что прописать в number_format для округления до 1 000. В currency.php прописано if ($currency == 'BYR') { $string .= number_format(round($value, -3), (int)$decimal_place, $decimal_point, $thousand_point); } else { $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); } цена всё равно 4 493 600 (к примеру) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 5 сентября 2014 Поделиться Опубликовано: 5 сентября 2014 Shkip, не подскажете как округлить цену? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 5 сентября 2014 Поделиться Опубликовано: 5 сентября 2014 ваш код отличается от моегоокругление до 1000 я делал так:в файле …\system\library\currency.php, делаем округление до 1 тысячи $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); меняем на if ($currency == 'BYR') $string .= number_format(round($value, -3), (int)$decimal_place, $decimal_point, $thousand_point); } else { $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); } вы попробуйте так number_format(round($price_by, -3), 0, '.', ' ') Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 7 сентября 2014 Поделиться Опубликовано: 7 сентября 2014 вы попробуйте так number_format(round($price_by, -3), 0, '.', ' ') Большое спасибо! Работает! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... markimax Опубликовано: 7 сентября 2014 Поделиться Опубликовано: 7 сентября 2014 Может суть запроса была такая чтобы напротив каждой цены была кнопка "Купить" т.е. нажимаешь "Купить" в USD и в корзину идет товар и валюта переключается на USD? Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 4 месяца спустя... domtermo Опубликовано: 18 января 2015 Поделиться Опубликовано: 18 января 2015 Может кто в курсе почему вторая цена одинакова на все товары и конвертируется с последнего товара? Касается всех модулей кроме product. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 18 января 2015 Поделиться Опубликовано: 18 января 2015 Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Подскажите пожалуйста код для конвертации прямо в шаблоне без контроллера. Интересно конкретно для модуля latest. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 19 января 2015 Поделиться Опубликовано: 19 января 2015 Помогите пожалуйста, очень нужно. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 Вперёд Страница 2 из 3 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Установка, обновление, настройка отображение двух валют в opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
domtermo Опубликовано: 22 августа 2014 Поделиться Опубликовано: 22 августа 2014 Блин, проделал всё как написано: /public_html/catalog/view/theme/default/template/product/product.tpl <div class="price"><?php echo $text_price; ?> <?php if (!$special) { ?> <?php echo $price; ?> <?php } else { ?> <span class="price-old"><?php echo $price; ?><?php echo ' ($'. round($price_byr,0) . ') '; ?></span> <span class="price-new"><?php echo $special; ?><?php echo ' ($'. round($special_byr,0) . ') '; ?></span> <?php } ?> <br /> <?php if ($tax) { ?> <span class="price-tax"><?php echo $text_tax; ?> <?php echo $tax; ?></span><br /> <?php } ?> <?php if ($points) { ?> <span class="reward"><small><?php echo $text_points; ?> <?php echo $points; ?></small></span><br /> <?php } ?> <?php if ($discounts) { ?> <br /> <div class="discount"> <?php foreach ($discounts as $discount) { ?> <?php echo sprintf($text_discount, $discount['quantity'], $discount['price']); ?><?php echo ' ($'. round($discount['price_byr'],0) . ') '; ?><br /> <?php } ?> </div> /public_html/catalog/controller/product/product.php if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data['price_'] = $product_info['price']; } else { $this->data['price'] = false; $this->data['price_byr'] = false; } if ((float)$product_info['special']) { $this->data['special'] = $this->currency->format($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax'))); } else { $this->data['special'] = false; } if ($this->config->get('config_tax')) { $this->data['tax'] = $this->currency->format((float)$product_info['special'] ? $product_info['special'] : $product_info['price']); } else { $this->data['tax'] = false; } $discounts = $this->model_catalog_product->getProductDiscounts($this->request->get['product_id']); $this->data['price_'] = $this->currency->convert($product_info['price'], 'EUR', 'BYR'); $this->data['discounts'] = array(); foreach ($discounts as $discount) { $this->data['discounts'][] = array( 'quantity' => $discount['quantity'], 'price' => $this->currency->format($this->tax->calculate($discount['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))) ); } Цена как было в евро, так и осталась :| . Блин не врубаюсь почему. Может когда я удалял из шаблона смену валюты нечаянно удалил функцию конвертации? И ещё вопросик: $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')));$this->data['price_'] = $product_info['price']; } else { $this->data['price'] = false; $this->data['price_byr] = false; Переменные должны быть разными? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Shkip Опубликовано: 22 августа 2014 Поделиться Опубликовано: 22 августа 2014 Переменные должны быть разными? не, там usd потерялся)) правильно вот так $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data['price_byr'] = $product_info['price']; } else { $this->data['price'] = false; $this->data['price_byr'] = false; в библиотеке валюты изменения вносили? я как то упустил этот момент if ($currency == 'BYR') по настройке: в параметрах локализации поставить EUR, переключатель валют можно удалить, он все равно не будет работать Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 23 августа 2014 Поделиться Опубликовано: 23 августа 2014 Переменную изменил. Всё равно одна цена в евро(( if ($currency == 'BYR') А вот тут если можно поподробней)) Это в файле /public_html/system/library/currency.php ? Что туда добавить? по настройке: в параметрах локализации поставить EUR, переключатель валют можно удалить, он все равно не будет работать В настройках евро стоит по умолчанию, BYR включен, конвертация в админке правильная. Переключатель валют давно уже удалил. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 24 августа 2014 Поделиться Опубликовано: 24 августа 2014 делал давно, вот что нашел у себя в склерознике: Дано: магазин в Белоруси, цены в админке в USD. Необходимо: в магазине отображать цены в белорусских рублях с округлением до 1 тысячи, а рядом ,в скобках, цены в USD. Реализация: 1. …\system\library\currency.php устанавливаем валюту по умолчанию BYR $this->set($this->config->get('config_currency')); меняем на $this->set('BYR'); 2. в этом же файле ,…\system\library\currency.php, делаем округление до 1 тысячи $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); меняем на if ($currency == 'BYR') $string .= number_format(round($value, -3), (int)$decimal_place, $decimal_point, $thousand_point); else { $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); } После этих изменений цена в магазине будет отображаться только в BYR, округление будет до 1 тысячи, выбор валют перестанет работать, так что его можно удалить в шаблоне. Сделанные изменения могут работать независимо друг от друга. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 24 августа 2014 Поделиться Опубликовано: 24 августа 2014 Всё, удалось вывести 2 цену. А проблема была в том, что в файле product.tpl <div class="price"><?php echo $text_price; ?> <?php if (!$special) { ?> <?php echo $price; ?> ВОТ ТУТ Я ЗАБЫЛ ДОБАВИТЬ <?php echo $price_byr; ?> <?php } else { ?> <span class="price-old"><?php echo $price; ?><?php echo ' ($'. round($price_byr,0) . ') '; ?></span> <span class="price-new"><?php echo $special; ?><?php echo ' ($'. round($special_byr,0) . ') '; ?></span> <?php } ?> <br /> <?php if ($tax) { ?> <span class="price-tax"><?php echo $text_tax; ?> <?php echo $tax; ?></span><br /> <?php } ?> <?php if ($points) { ?> <span class="reward"><small><?php echo $text_points; ?> <?php echo $points; ?></small></span><br /> <?php } ?> <?php if ($discounts) { ?> <br /> <div class="discount"> <?php foreach ($discounts as $discount) { ?> <?php echo sprintf($text_discount, $discount['quantity'], $discount['price']); ?><?php echo ' ($'. round($discount['price_byr'],0) . ') '; ?><br /> <?php } ?> </div> Теперь вылезла другая проблема. Как у тебя реализованы пробелы в стоимости с б. рублях? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 24 августа 2014 Поделиться Опубликовано: 24 августа 2014 пробел перед руб. в настройке валют Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 27 августа 2014 Поделиться Опубликовано: 27 августа 2014 а где в настройке валют руб. ? Может я не правильно выразился. Я имел в виду, что у меня к примеру цена выглядит 12345000, а хотелось бы 12 345 000 . Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 27 августа 2014 Поделиться Опубликовано: 27 августа 2014 а где в настройке валют руб. ? Может я не правильно выразился. Я имел в виду, что у меня к примеру цена выглядит 12345000, а хотелось бы 12 345 000 . ...\catalog\language\russian\russian.php $_['thousand_point'] = ' '; Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 28 августа 2014 Поделиться Опубликовано: 28 августа 2014 ...\catalog\language\russian\russian.php $_['thousand_point'] = ' '; Поставил $_['thousand_point'] = 'ВОТ ТУТ ПРОБЕЛ '; Ничего не поменялось.. Видимо срабатывет только для первой цены. Почему не распространяется на вторую? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 29 августа 2014 Поделиться Опубликовано: 29 августа 2014 потому что не установлен формат второй цены, используется просто число, символ валюты установлен вручную Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 29 августа 2014 Поделиться Опубликовано: 29 августа 2014 round($price_byr,0) заменить на number_format($price_byr , 0 , '.' , ' ') Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 29 августа 2014 Поделиться Опубликовано: 29 августа 2014 Не выходит.. Цена сразу 0. Подытожим. Если в конфиге прописывать $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data['price_byr'] = $product_info['price']; } else { $this->data['price'] = false; $this->data['price_byr'] = false; То второй цене присваивается значение первой цены, т.е. , отображаются 2 одинаковые цены. Поэтому в конфиге прописал if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data['price_2'] = "(".round($this->currency->convert($product_info['price'], 'EUR', 'BYR'), '0')." руб.)"; } else { $this->data['price'] = false; } В шаблоне <?php echo $price_2; ?> Если пишу в шаблоне <?php echo number_format((double)$price_2 , 0 , '.' , ' '); ?> То price_2 вообще не отображается, а отображается 0. Не могу въехать.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 30 августа 2014 Поделиться Опубликовано: 30 августа 2014 сделайте все по моему коду - все работает, скрины я вам выкладывал. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 31 августа 2014 Поделиться Опубликовано: 31 августа 2014 В том то и дело, что делал. Но вторая цена почему то принимает значение первой цены. if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data['price_usd'] = $product_info['price']; } else { $this->data['price'] = false; $this->data['price_usd'] = false; } Может Вы где нибудь в другом месте прописывали конвертацию? Потому как судя по коду price_usd принимает обычную цену. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 1 сентября 2014 Поделиться Опубликовано: 1 сентября 2014 Всё, спасибо за помощь, разобрался.В product.tpl <?php if (($this->currency->getCode())!='BYR') { echo ' / '. number_format($price_by, 0, '.', ' ') . ' rub';} ?> В product.php функция конвертации. Осталось округлить до тысяч. Не подскажите что прописать в number_format для округления до 1 000. В currency.php прописано if ($currency == 'BYR') { $string .= number_format(round($value, -3), (int)$decimal_place, $decimal_point, $thousand_point); } else { $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); } цена всё равно 4 493 600 (к примеру) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 5 сентября 2014 Поделиться Опубликовано: 5 сентября 2014 Shkip, не подскажете как округлить цену? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 5 сентября 2014 Поделиться Опубликовано: 5 сентября 2014 ваш код отличается от моегоокругление до 1000 я делал так:в файле …\system\library\currency.php, делаем округление до 1 тысячи $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); меняем на if ($currency == 'BYR') $string .= number_format(round($value, -3), (int)$decimal_place, $decimal_point, $thousand_point); } else { $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); } вы попробуйте так number_format(round($price_by, -3), 0, '.', ' ') Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 7 сентября 2014 Поделиться Опубликовано: 7 сентября 2014 вы попробуйте так number_format(round($price_by, -3), 0, '.', ' ') Большое спасибо! Работает! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... markimax Опубликовано: 7 сентября 2014 Поделиться Опубликовано: 7 сентября 2014 Может суть запроса была такая чтобы напротив каждой цены была кнопка "Купить" т.е. нажимаешь "Купить" в USD и в корзину идет товар и валюта переключается на USD? Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 4 месяца спустя... domtermo Опубликовано: 18 января 2015 Поделиться Опубликовано: 18 января 2015 Может кто в курсе почему вторая цена одинакова на все товары и конвертируется с последнего товара? Касается всех модулей кроме product. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 18 января 2015 Поделиться Опубликовано: 18 января 2015 Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Подскажите пожалуйста код для конвертации прямо в шаблоне без контроллера. Интересно конкретно для модуля latest. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 19 января 2015 Поделиться Опубликовано: 19 января 2015 Помогите пожалуйста, очень нужно. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 Вперёд Страница 2 из 3 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Установка, обновление, настройка отображение двух валют в opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
domtermo Опубликовано: 23 августа 2014 Поделиться Опубликовано: 23 августа 2014 Переменную изменил. Всё равно одна цена в евро(( if ($currency == 'BYR') А вот тут если можно поподробней)) Это в файле /public_html/system/library/currency.php ? Что туда добавить? по настройке: в параметрах локализации поставить EUR, переключатель валют можно удалить, он все равно не будет работать В настройках евро стоит по умолчанию, BYR включен, конвертация в админке правильная. Переключатель валют давно уже удалил. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Shkip Опубликовано: 24 августа 2014 Поделиться Опубликовано: 24 августа 2014 делал давно, вот что нашел у себя в склерознике: Дано: магазин в Белоруси, цены в админке в USD. Необходимо: в магазине отображать цены в белорусских рублях с округлением до 1 тысячи, а рядом ,в скобках, цены в USD. Реализация: 1. …\system\library\currency.php устанавливаем валюту по умолчанию BYR $this->set($this->config->get('config_currency')); меняем на $this->set('BYR'); 2. в этом же файле ,…\system\library\currency.php, делаем округление до 1 тысячи $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); меняем на if ($currency == 'BYR') $string .= number_format(round($value, -3), (int)$decimal_place, $decimal_point, $thousand_point); else { $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); } После этих изменений цена в магазине будет отображаться только в BYR, округление будет до 1 тысячи, выбор валют перестанет работать, так что его можно удалить в шаблоне. Сделанные изменения могут работать независимо друг от друга. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 24 августа 2014 Поделиться Опубликовано: 24 августа 2014 Всё, удалось вывести 2 цену. А проблема была в том, что в файле product.tpl <div class="price"><?php echo $text_price; ?> <?php if (!$special) { ?> <?php echo $price; ?> ВОТ ТУТ Я ЗАБЫЛ ДОБАВИТЬ <?php echo $price_byr; ?> <?php } else { ?> <span class="price-old"><?php echo $price; ?><?php echo ' ($'. round($price_byr,0) . ') '; ?></span> <span class="price-new"><?php echo $special; ?><?php echo ' ($'. round($special_byr,0) . ') '; ?></span> <?php } ?> <br /> <?php if ($tax) { ?> <span class="price-tax"><?php echo $text_tax; ?> <?php echo $tax; ?></span><br /> <?php } ?> <?php if ($points) { ?> <span class="reward"><small><?php echo $text_points; ?> <?php echo $points; ?></small></span><br /> <?php } ?> <?php if ($discounts) { ?> <br /> <div class="discount"> <?php foreach ($discounts as $discount) { ?> <?php echo sprintf($text_discount, $discount['quantity'], $discount['price']); ?><?php echo ' ($'. round($discount['price_byr'],0) . ') '; ?><br /> <?php } ?> </div> Теперь вылезла другая проблема. Как у тебя реализованы пробелы в стоимости с б. рублях? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 24 августа 2014 Поделиться Опубликовано: 24 августа 2014 пробел перед руб. в настройке валют Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 27 августа 2014 Поделиться Опубликовано: 27 августа 2014 а где в настройке валют руб. ? Может я не правильно выразился. Я имел в виду, что у меня к примеру цена выглядит 12345000, а хотелось бы 12 345 000 . Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 27 августа 2014 Поделиться Опубликовано: 27 августа 2014 а где в настройке валют руб. ? Может я не правильно выразился. Я имел в виду, что у меня к примеру цена выглядит 12345000, а хотелось бы 12 345 000 . ...\catalog\language\russian\russian.php $_['thousand_point'] = ' '; Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 28 августа 2014 Поделиться Опубликовано: 28 августа 2014 ...\catalog\language\russian\russian.php $_['thousand_point'] = ' '; Поставил $_['thousand_point'] = 'ВОТ ТУТ ПРОБЕЛ '; Ничего не поменялось.. Видимо срабатывет только для первой цены. Почему не распространяется на вторую? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 29 августа 2014 Поделиться Опубликовано: 29 августа 2014 потому что не установлен формат второй цены, используется просто число, символ валюты установлен вручную Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 29 августа 2014 Поделиться Опубликовано: 29 августа 2014 round($price_byr,0) заменить на number_format($price_byr , 0 , '.' , ' ') Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 29 августа 2014 Поделиться Опубликовано: 29 августа 2014 Не выходит.. Цена сразу 0. Подытожим. Если в конфиге прописывать $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data['price_byr'] = $product_info['price']; } else { $this->data['price'] = false; $this->data['price_byr'] = false; То второй цене присваивается значение первой цены, т.е. , отображаются 2 одинаковые цены. Поэтому в конфиге прописал if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data['price_2'] = "(".round($this->currency->convert($product_info['price'], 'EUR', 'BYR'), '0')." руб.)"; } else { $this->data['price'] = false; } В шаблоне <?php echo $price_2; ?> Если пишу в шаблоне <?php echo number_format((double)$price_2 , 0 , '.' , ' '); ?> То price_2 вообще не отображается, а отображается 0. Не могу въехать.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 30 августа 2014 Поделиться Опубликовано: 30 августа 2014 сделайте все по моему коду - все работает, скрины я вам выкладывал. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 31 августа 2014 Поделиться Опубликовано: 31 августа 2014 В том то и дело, что делал. Но вторая цена почему то принимает значение первой цены. if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data['price_usd'] = $product_info['price']; } else { $this->data['price'] = false; $this->data['price_usd'] = false; } Может Вы где нибудь в другом месте прописывали конвертацию? Потому как судя по коду price_usd принимает обычную цену. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 1 сентября 2014 Поделиться Опубликовано: 1 сентября 2014 Всё, спасибо за помощь, разобрался.В product.tpl <?php if (($this->currency->getCode())!='BYR') { echo ' / '. number_format($price_by, 0, '.', ' ') . ' rub';} ?> В product.php функция конвертации. Осталось округлить до тысяч. Не подскажите что прописать в number_format для округления до 1 000. В currency.php прописано if ($currency == 'BYR') { $string .= number_format(round($value, -3), (int)$decimal_place, $decimal_point, $thousand_point); } else { $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); } цена всё равно 4 493 600 (к примеру) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 5 сентября 2014 Поделиться Опубликовано: 5 сентября 2014 Shkip, не подскажете как округлить цену? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 5 сентября 2014 Поделиться Опубликовано: 5 сентября 2014 ваш код отличается от моегоокругление до 1000 я делал так:в файле …\system\library\currency.php, делаем округление до 1 тысячи $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); меняем на if ($currency == 'BYR') $string .= number_format(round($value, -3), (int)$decimal_place, $decimal_point, $thousand_point); } else { $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); } вы попробуйте так number_format(round($price_by, -3), 0, '.', ' ') Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 7 сентября 2014 Поделиться Опубликовано: 7 сентября 2014 вы попробуйте так number_format(round($price_by, -3), 0, '.', ' ') Большое спасибо! Работает! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... markimax Опубликовано: 7 сентября 2014 Поделиться Опубликовано: 7 сентября 2014 Может суть запроса была такая чтобы напротив каждой цены была кнопка "Купить" т.е. нажимаешь "Купить" в USD и в корзину идет товар и валюта переключается на USD? Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 4 месяца спустя... domtermo Опубликовано: 18 января 2015 Поделиться Опубликовано: 18 января 2015 Может кто в курсе почему вторая цена одинакова на все товары и конвертируется с последнего товара? Касается всех модулей кроме product. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 18 января 2015 Поделиться Опубликовано: 18 января 2015 Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Подскажите пожалуйста код для конвертации прямо в шаблоне без контроллера. Интересно конкретно для модуля latest. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 19 января 2015 Поделиться Опубликовано: 19 января 2015 Помогите пожалуйста, очень нужно. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 Вперёд Страница 2 из 3 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Установка, обновление, настройка отображение двух валют в opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
domtermo Опубликовано: 24 августа 2014 Поделиться Опубликовано: 24 августа 2014 Всё, удалось вывести 2 цену. А проблема была в том, что в файле product.tpl <div class="price"><?php echo $text_price; ?> <?php if (!$special) { ?> <?php echo $price; ?> ВОТ ТУТ Я ЗАБЫЛ ДОБАВИТЬ <?php echo $price_byr; ?> <?php } else { ?> <span class="price-old"><?php echo $price; ?><?php echo ' ($'. round($price_byr,0) . ') '; ?></span> <span class="price-new"><?php echo $special; ?><?php echo ' ($'. round($special_byr,0) . ') '; ?></span> <?php } ?> <br /> <?php if ($tax) { ?> <span class="price-tax"><?php echo $text_tax; ?> <?php echo $tax; ?></span><br /> <?php } ?> <?php if ($points) { ?> <span class="reward"><small><?php echo $text_points; ?> <?php echo $points; ?></small></span><br /> <?php } ?> <?php if ($discounts) { ?> <br /> <div class="discount"> <?php foreach ($discounts as $discount) { ?> <?php echo sprintf($text_discount, $discount['quantity'], $discount['price']); ?><?php echo ' ($'. round($discount['price_byr'],0) . ') '; ?><br /> <?php } ?> </div> Теперь вылезла другая проблема. Как у тебя реализованы пробелы в стоимости с б. рублях? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Shkip Опубликовано: 24 августа 2014 Поделиться Опубликовано: 24 августа 2014 пробел перед руб. в настройке валют Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 27 августа 2014 Поделиться Опубликовано: 27 августа 2014 а где в настройке валют руб. ? Может я не правильно выразился. Я имел в виду, что у меня к примеру цена выглядит 12345000, а хотелось бы 12 345 000 . Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 27 августа 2014 Поделиться Опубликовано: 27 августа 2014 а где в настройке валют руб. ? Может я не правильно выразился. Я имел в виду, что у меня к примеру цена выглядит 12345000, а хотелось бы 12 345 000 . ...\catalog\language\russian\russian.php $_['thousand_point'] = ' '; Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 28 августа 2014 Поделиться Опубликовано: 28 августа 2014 ...\catalog\language\russian\russian.php $_['thousand_point'] = ' '; Поставил $_['thousand_point'] = 'ВОТ ТУТ ПРОБЕЛ '; Ничего не поменялось.. Видимо срабатывет только для первой цены. Почему не распространяется на вторую? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 29 августа 2014 Поделиться Опубликовано: 29 августа 2014 потому что не установлен формат второй цены, используется просто число, символ валюты установлен вручную Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 29 августа 2014 Поделиться Опубликовано: 29 августа 2014 round($price_byr,0) заменить на number_format($price_byr , 0 , '.' , ' ') Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 29 августа 2014 Поделиться Опубликовано: 29 августа 2014 Не выходит.. Цена сразу 0. Подытожим. Если в конфиге прописывать $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data['price_byr'] = $product_info['price']; } else { $this->data['price'] = false; $this->data['price_byr'] = false; То второй цене присваивается значение первой цены, т.е. , отображаются 2 одинаковые цены. Поэтому в конфиге прописал if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data['price_2'] = "(".round($this->currency->convert($product_info['price'], 'EUR', 'BYR'), '0')." руб.)"; } else { $this->data['price'] = false; } В шаблоне <?php echo $price_2; ?> Если пишу в шаблоне <?php echo number_format((double)$price_2 , 0 , '.' , ' '); ?> То price_2 вообще не отображается, а отображается 0. Не могу въехать.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 30 августа 2014 Поделиться Опубликовано: 30 августа 2014 сделайте все по моему коду - все работает, скрины я вам выкладывал. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 31 августа 2014 Поделиться Опубликовано: 31 августа 2014 В том то и дело, что делал. Но вторая цена почему то принимает значение первой цены. if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data['price_usd'] = $product_info['price']; } else { $this->data['price'] = false; $this->data['price_usd'] = false; } Может Вы где нибудь в другом месте прописывали конвертацию? Потому как судя по коду price_usd принимает обычную цену. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 1 сентября 2014 Поделиться Опубликовано: 1 сентября 2014 Всё, спасибо за помощь, разобрался.В product.tpl <?php if (($this->currency->getCode())!='BYR') { echo ' / '. number_format($price_by, 0, '.', ' ') . ' rub';} ?> В product.php функция конвертации. Осталось округлить до тысяч. Не подскажите что прописать в number_format для округления до 1 000. В currency.php прописано if ($currency == 'BYR') { $string .= number_format(round($value, -3), (int)$decimal_place, $decimal_point, $thousand_point); } else { $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); } цена всё равно 4 493 600 (к примеру) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 5 сентября 2014 Поделиться Опубликовано: 5 сентября 2014 Shkip, не подскажете как округлить цену? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 5 сентября 2014 Поделиться Опубликовано: 5 сентября 2014 ваш код отличается от моегоокругление до 1000 я делал так:в файле …\system\library\currency.php, делаем округление до 1 тысячи $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); меняем на if ($currency == 'BYR') $string .= number_format(round($value, -3), (int)$decimal_place, $decimal_point, $thousand_point); } else { $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); } вы попробуйте так number_format(round($price_by, -3), 0, '.', ' ') Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 7 сентября 2014 Поделиться Опубликовано: 7 сентября 2014 вы попробуйте так number_format(round($price_by, -3), 0, '.', ' ') Большое спасибо! Работает! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... markimax Опубликовано: 7 сентября 2014 Поделиться Опубликовано: 7 сентября 2014 Может суть запроса была такая чтобы напротив каждой цены была кнопка "Купить" т.е. нажимаешь "Купить" в USD и в корзину идет товар и валюта переключается на USD? Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 4 месяца спустя... domtermo Опубликовано: 18 января 2015 Поделиться Опубликовано: 18 января 2015 Может кто в курсе почему вторая цена одинакова на все товары и конвертируется с последнего товара? Касается всех модулей кроме product. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 18 января 2015 Поделиться Опубликовано: 18 января 2015 Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Подскажите пожалуйста код для конвертации прямо в шаблоне без контроллера. Интересно конкретно для модуля latest. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 19 января 2015 Поделиться Опубликовано: 19 января 2015 Помогите пожалуйста, очень нужно. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 Вперёд Страница 2 из 3 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Установка, обновление, настройка отображение двух валют в opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
domtermo Опубликовано: 27 августа 2014 Поделиться Опубликовано: 27 августа 2014 а где в настройке валют руб. ? Может я не правильно выразился. Я имел в виду, что у меня к примеру цена выглядит 12345000, а хотелось бы 12 345 000 . Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Shkip Опубликовано: 27 августа 2014 Поделиться Опубликовано: 27 августа 2014 а где в настройке валют руб. ? Может я не правильно выразился. Я имел в виду, что у меня к примеру цена выглядит 12345000, а хотелось бы 12 345 000 . ...\catalog\language\russian\russian.php $_['thousand_point'] = ' '; Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 28 августа 2014 Поделиться Опубликовано: 28 августа 2014 ...\catalog\language\russian\russian.php $_['thousand_point'] = ' '; Поставил $_['thousand_point'] = 'ВОТ ТУТ ПРОБЕЛ '; Ничего не поменялось.. Видимо срабатывет только для первой цены. Почему не распространяется на вторую? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 29 августа 2014 Поделиться Опубликовано: 29 августа 2014 потому что не установлен формат второй цены, используется просто число, символ валюты установлен вручную Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 29 августа 2014 Поделиться Опубликовано: 29 августа 2014 round($price_byr,0) заменить на number_format($price_byr , 0 , '.' , ' ') Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 29 августа 2014 Поделиться Опубликовано: 29 августа 2014 Не выходит.. Цена сразу 0. Подытожим. Если в конфиге прописывать $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data['price_byr'] = $product_info['price']; } else { $this->data['price'] = false; $this->data['price_byr'] = false; То второй цене присваивается значение первой цены, т.е. , отображаются 2 одинаковые цены. Поэтому в конфиге прописал if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data['price_2'] = "(".round($this->currency->convert($product_info['price'], 'EUR', 'BYR'), '0')." руб.)"; } else { $this->data['price'] = false; } В шаблоне <?php echo $price_2; ?> Если пишу в шаблоне <?php echo number_format((double)$price_2 , 0 , '.' , ' '); ?> То price_2 вообще не отображается, а отображается 0. Не могу въехать.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 30 августа 2014 Поделиться Опубликовано: 30 августа 2014 сделайте все по моему коду - все работает, скрины я вам выкладывал. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 31 августа 2014 Поделиться Опубликовано: 31 августа 2014 В том то и дело, что делал. Но вторая цена почему то принимает значение первой цены. if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data['price_usd'] = $product_info['price']; } else { $this->data['price'] = false; $this->data['price_usd'] = false; } Может Вы где нибудь в другом месте прописывали конвертацию? Потому как судя по коду price_usd принимает обычную цену. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 1 сентября 2014 Поделиться Опубликовано: 1 сентября 2014 Всё, спасибо за помощь, разобрался.В product.tpl <?php if (($this->currency->getCode())!='BYR') { echo ' / '. number_format($price_by, 0, '.', ' ') . ' rub';} ?> В product.php функция конвертации. Осталось округлить до тысяч. Не подскажите что прописать в number_format для округления до 1 000. В currency.php прописано if ($currency == 'BYR') { $string .= number_format(round($value, -3), (int)$decimal_place, $decimal_point, $thousand_point); } else { $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); } цена всё равно 4 493 600 (к примеру) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 5 сентября 2014 Поделиться Опубликовано: 5 сентября 2014 Shkip, не подскажете как округлить цену? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 5 сентября 2014 Поделиться Опубликовано: 5 сентября 2014 ваш код отличается от моегоокругление до 1000 я делал так:в файле …\system\library\currency.php, делаем округление до 1 тысячи $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); меняем на if ($currency == 'BYR') $string .= number_format(round($value, -3), (int)$decimal_place, $decimal_point, $thousand_point); } else { $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); } вы попробуйте так number_format(round($price_by, -3), 0, '.', ' ') Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 7 сентября 2014 Поделиться Опубликовано: 7 сентября 2014 вы попробуйте так number_format(round($price_by, -3), 0, '.', ' ') Большое спасибо! Работает! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... markimax Опубликовано: 7 сентября 2014 Поделиться Опубликовано: 7 сентября 2014 Может суть запроса была такая чтобы напротив каждой цены была кнопка "Купить" т.е. нажимаешь "Купить" в USD и в корзину идет товар и валюта переключается на USD? Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 4 месяца спустя... domtermo Опубликовано: 18 января 2015 Поделиться Опубликовано: 18 января 2015 Может кто в курсе почему вторая цена одинакова на все товары и конвертируется с последнего товара? Касается всех модулей кроме product. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 18 января 2015 Поделиться Опубликовано: 18 января 2015 Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Подскажите пожалуйста код для конвертации прямо в шаблоне без контроллера. Интересно конкретно для модуля latest. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 19 января 2015 Поделиться Опубликовано: 19 января 2015 Помогите пожалуйста, очень нужно. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 Вперёд Страница 2 из 3 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Установка, обновление, настройка отображение двух валют в opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
domtermo Опубликовано: 28 августа 2014 Поделиться Опубликовано: 28 августа 2014 ...\catalog\language\russian\russian.php $_['thousand_point'] = ' '; Поставил $_['thousand_point'] = 'ВОТ ТУТ ПРОБЕЛ '; Ничего не поменялось.. Видимо срабатывет только для первой цены. Почему не распространяется на вторую? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Shkip Опубликовано: 29 августа 2014 Поделиться Опубликовано: 29 августа 2014 потому что не установлен формат второй цены, используется просто число, символ валюты установлен вручную Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 29 августа 2014 Поделиться Опубликовано: 29 августа 2014 round($price_byr,0) заменить на number_format($price_byr , 0 , '.' , ' ') Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 29 августа 2014 Поделиться Опубликовано: 29 августа 2014 Не выходит.. Цена сразу 0. Подытожим. Если в конфиге прописывать $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data['price_byr'] = $product_info['price']; } else { $this->data['price'] = false; $this->data['price_byr'] = false; То второй цене присваивается значение первой цены, т.е. , отображаются 2 одинаковые цены. Поэтому в конфиге прописал if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data['price_2'] = "(".round($this->currency->convert($product_info['price'], 'EUR', 'BYR'), '0')." руб.)"; } else { $this->data['price'] = false; } В шаблоне <?php echo $price_2; ?> Если пишу в шаблоне <?php echo number_format((double)$price_2 , 0 , '.' , ' '); ?> То price_2 вообще не отображается, а отображается 0. Не могу въехать.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 30 августа 2014 Поделиться Опубликовано: 30 августа 2014 сделайте все по моему коду - все работает, скрины я вам выкладывал. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 31 августа 2014 Поделиться Опубликовано: 31 августа 2014 В том то и дело, что делал. Но вторая цена почему то принимает значение первой цены. if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data['price_usd'] = $product_info['price']; } else { $this->data['price'] = false; $this->data['price_usd'] = false; } Может Вы где нибудь в другом месте прописывали конвертацию? Потому как судя по коду price_usd принимает обычную цену. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 1 сентября 2014 Поделиться Опубликовано: 1 сентября 2014 Всё, спасибо за помощь, разобрался.В product.tpl <?php if (($this->currency->getCode())!='BYR') { echo ' / '. number_format($price_by, 0, '.', ' ') . ' rub';} ?> В product.php функция конвертации. Осталось округлить до тысяч. Не подскажите что прописать в number_format для округления до 1 000. В currency.php прописано if ($currency == 'BYR') { $string .= number_format(round($value, -3), (int)$decimal_place, $decimal_point, $thousand_point); } else { $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); } цена всё равно 4 493 600 (к примеру) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 5 сентября 2014 Поделиться Опубликовано: 5 сентября 2014 Shkip, не подскажете как округлить цену? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 5 сентября 2014 Поделиться Опубликовано: 5 сентября 2014 ваш код отличается от моегоокругление до 1000 я делал так:в файле …\system\library\currency.php, делаем округление до 1 тысячи $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); меняем на if ($currency == 'BYR') $string .= number_format(round($value, -3), (int)$decimal_place, $decimal_point, $thousand_point); } else { $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); } вы попробуйте так number_format(round($price_by, -3), 0, '.', ' ') Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 7 сентября 2014 Поделиться Опубликовано: 7 сентября 2014 вы попробуйте так number_format(round($price_by, -3), 0, '.', ' ') Большое спасибо! Работает! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... markimax Опубликовано: 7 сентября 2014 Поделиться Опубликовано: 7 сентября 2014 Может суть запроса была такая чтобы напротив каждой цены была кнопка "Купить" т.е. нажимаешь "Купить" в USD и в корзину идет товар и валюта переключается на USD? Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 4 месяца спустя... domtermo Опубликовано: 18 января 2015 Поделиться Опубликовано: 18 января 2015 Может кто в курсе почему вторая цена одинакова на все товары и конвертируется с последнего товара? Касается всех модулей кроме product. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 18 января 2015 Поделиться Опубликовано: 18 января 2015 Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Подскажите пожалуйста код для конвертации прямо в шаблоне без контроллера. Интересно конкретно для модуля latest. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 19 января 2015 Поделиться Опубликовано: 19 января 2015 Помогите пожалуйста, очень нужно. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 Вперёд Страница 2 из 3 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Установка, обновление, настройка отображение двух валют в opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
Shkip Опубликовано: 29 августа 2014 Поделиться Опубликовано: 29 августа 2014 round($price_byr,0) заменить на number_format($price_byr , 0 , '.' , ' ') Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 29 августа 2014 Поделиться Опубликовано: 29 августа 2014 Не выходит.. Цена сразу 0. Подытожим. Если в конфиге прописывать $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data['price_byr'] = $product_info['price']; } else { $this->data['price'] = false; $this->data['price_byr'] = false; То второй цене присваивается значение первой цены, т.е. , отображаются 2 одинаковые цены. Поэтому в конфиге прописал if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data['price_2'] = "(".round($this->currency->convert($product_info['price'], 'EUR', 'BYR'), '0')." руб.)"; } else { $this->data['price'] = false; } В шаблоне <?php echo $price_2; ?> Если пишу в шаблоне <?php echo number_format((double)$price_2 , 0 , '.' , ' '); ?> То price_2 вообще не отображается, а отображается 0. Не могу въехать.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 30 августа 2014 Поделиться Опубликовано: 30 августа 2014 сделайте все по моему коду - все работает, скрины я вам выкладывал. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 31 августа 2014 Поделиться Опубликовано: 31 августа 2014 В том то и дело, что делал. Но вторая цена почему то принимает значение первой цены. if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data['price_usd'] = $product_info['price']; } else { $this->data['price'] = false; $this->data['price_usd'] = false; } Может Вы где нибудь в другом месте прописывали конвертацию? Потому как судя по коду price_usd принимает обычную цену. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 1 сентября 2014 Поделиться Опубликовано: 1 сентября 2014 Всё, спасибо за помощь, разобрался.В product.tpl <?php if (($this->currency->getCode())!='BYR') { echo ' / '. number_format($price_by, 0, '.', ' ') . ' rub';} ?> В product.php функция конвертации. Осталось округлить до тысяч. Не подскажите что прописать в number_format для округления до 1 000. В currency.php прописано if ($currency == 'BYR') { $string .= number_format(round($value, -3), (int)$decimal_place, $decimal_point, $thousand_point); } else { $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); } цена всё равно 4 493 600 (к примеру) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 5 сентября 2014 Поделиться Опубликовано: 5 сентября 2014 Shkip, не подскажете как округлить цену? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 5 сентября 2014 Поделиться Опубликовано: 5 сентября 2014 ваш код отличается от моегоокругление до 1000 я делал так:в файле …\system\library\currency.php, делаем округление до 1 тысячи $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); меняем на if ($currency == 'BYR') $string .= number_format(round($value, -3), (int)$decimal_place, $decimal_point, $thousand_point); } else { $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); } вы попробуйте так number_format(round($price_by, -3), 0, '.', ' ') Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 7 сентября 2014 Поделиться Опубликовано: 7 сентября 2014 вы попробуйте так number_format(round($price_by, -3), 0, '.', ' ') Большое спасибо! Работает! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... markimax Опубликовано: 7 сентября 2014 Поделиться Опубликовано: 7 сентября 2014 Может суть запроса была такая чтобы напротив каждой цены была кнопка "Купить" т.е. нажимаешь "Купить" в USD и в корзину идет товар и валюта переключается на USD? Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 4 месяца спустя... domtermo Опубликовано: 18 января 2015 Поделиться Опубликовано: 18 января 2015 Может кто в курсе почему вторая цена одинакова на все товары и конвертируется с последнего товара? Касается всех модулей кроме product. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 18 января 2015 Поделиться Опубликовано: 18 января 2015 Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Подскажите пожалуйста код для конвертации прямо в шаблоне без контроллера. Интересно конкретно для модуля latest. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 19 января 2015 Поделиться Опубликовано: 19 января 2015 Помогите пожалуйста, очень нужно. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 Вперёд Страница 2 из 3 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Установка, обновление, настройка отображение двух валют в opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha
domtermo Опубликовано: 29 августа 2014 Поделиться Опубликовано: 29 августа 2014 Не выходит.. Цена сразу 0. Подытожим. Если в конфиге прописывать $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data['price_byr'] = $product_info['price']; } else { $this->data['price'] = false; $this->data['price_byr'] = false; То второй цене присваивается значение первой цены, т.е. , отображаются 2 одинаковые цены. Поэтому в конфиге прописал if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data['price_2'] = "(".round($this->currency->convert($product_info['price'], 'EUR', 'BYR'), '0')." руб.)"; } else { $this->data['price'] = false; } В шаблоне <?php echo $price_2; ?> Если пишу в шаблоне <?php echo number_format((double)$price_2 , 0 , '.' , ' '); ?> То price_2 вообще не отображается, а отображается 0. Не могу въехать.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Shkip Опубликовано: 30 августа 2014 Поделиться Опубликовано: 30 августа 2014 сделайте все по моему коду - все работает, скрины я вам выкладывал. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 31 августа 2014 Поделиться Опубликовано: 31 августа 2014 В том то и дело, что делал. Но вторая цена почему то принимает значение первой цены. if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data['price_usd'] = $product_info['price']; } else { $this->data['price'] = false; $this->data['price_usd'] = false; } Может Вы где нибудь в другом месте прописывали конвертацию? Потому как судя по коду price_usd принимает обычную цену. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 1 сентября 2014 Поделиться Опубликовано: 1 сентября 2014 Всё, спасибо за помощь, разобрался.В product.tpl <?php if (($this->currency->getCode())!='BYR') { echo ' / '. number_format($price_by, 0, '.', ' ') . ' rub';} ?> В product.php функция конвертации. Осталось округлить до тысяч. Не подскажите что прописать в number_format для округления до 1 000. В currency.php прописано if ($currency == 'BYR') { $string .= number_format(round($value, -3), (int)$decimal_place, $decimal_point, $thousand_point); } else { $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); } цена всё равно 4 493 600 (к примеру) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 5 сентября 2014 Поделиться Опубликовано: 5 сентября 2014 Shkip, не подскажете как округлить цену? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Shkip Опубликовано: 5 сентября 2014 Поделиться Опубликовано: 5 сентября 2014 ваш код отличается от моегоокругление до 1000 я делал так:в файле …\system\library\currency.php, делаем округление до 1 тысячи $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); меняем на if ($currency == 'BYR') $string .= number_format(round($value, -3), (int)$decimal_place, $decimal_point, $thousand_point); } else { $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); } вы попробуйте так number_format(round($price_by, -3), 0, '.', ' ') Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 7 сентября 2014 Поделиться Опубликовано: 7 сентября 2014 вы попробуйте так number_format(round($price_by, -3), 0, '.', ' ') Большое спасибо! Работает! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... markimax Опубликовано: 7 сентября 2014 Поделиться Опубликовано: 7 сентября 2014 Может суть запроса была такая чтобы напротив каждой цены была кнопка "Купить" т.е. нажимаешь "Купить" в USD и в корзину идет товар и валюта переключается на USD? Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 4 месяца спустя... domtermo Опубликовано: 18 января 2015 Поделиться Опубликовано: 18 января 2015 Может кто в курсе почему вторая цена одинакова на все товары и конвертируется с последнего товара? Касается всех модулей кроме product. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 18 января 2015 Поделиться Опубликовано: 18 января 2015 Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Подскажите пожалуйста код для конвертации прямо в шаблоне без контроллера. Интересно конкретно для модуля latest. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 19 января 2015 Поделиться Опубликовано: 19 января 2015 Помогите пожалуйста, очень нужно. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 Вперёд Страница 2 из 3 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Установка, обновление, настройка отображение двух валют в opencart
domtermo Опубликовано: 31 августа 2014 Поделиться Опубликовано: 31 августа 2014 В том то и дело, что делал. Но вторая цена почему то принимает значение первой цены. if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data['price_usd'] = $product_info['price']; } else { $this->data['price'] = false; $this->data['price_usd'] = false; } Может Вы где нибудь в другом месте прописывали конвертацию? Потому как судя по коду price_usd принимает обычную цену. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
domtermo Опубликовано: 1 сентября 2014 Поделиться Опубликовано: 1 сентября 2014 Всё, спасибо за помощь, разобрался.В product.tpl <?php if (($this->currency->getCode())!='BYR') { echo ' / '. number_format($price_by, 0, '.', ' ') . ' rub';} ?> В product.php функция конвертации. Осталось округлить до тысяч. Не подскажите что прописать в number_format для округления до 1 000. В currency.php прописано if ($currency == 'BYR') { $string .= number_format(round($value, -3), (int)$decimal_place, $decimal_point, $thousand_point); } else { $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); } цена всё равно 4 493 600 (к примеру) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
domtermo Опубликовано: 5 сентября 2014 Поделиться Опубликовано: 5 сентября 2014 Shkip, не подскажете как округлить цену? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Shkip Опубликовано: 5 сентября 2014 Поделиться Опубликовано: 5 сентября 2014 ваш код отличается от моегоокругление до 1000 я делал так:в файле …\system\library\currency.php, делаем округление до 1 тысячи $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); меняем на if ($currency == 'BYR') $string .= number_format(round($value, -3), (int)$decimal_place, $decimal_point, $thousand_point); } else { $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); } вы попробуйте так number_format(round($price_by, -3), 0, '.', ' ') Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 7 сентября 2014 Поделиться Опубликовано: 7 сентября 2014 вы попробуйте так number_format(round($price_by, -3), 0, '.', ' ') Большое спасибо! Работает! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... markimax Опубликовано: 7 сентября 2014 Поделиться Опубликовано: 7 сентября 2014 Может суть запроса была такая чтобы напротив каждой цены была кнопка "Купить" т.е. нажимаешь "Купить" в USD и в корзину идет товар и валюта переключается на USD? Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 4 месяца спустя... domtermo Опубликовано: 18 января 2015 Поделиться Опубликовано: 18 января 2015 Может кто в курсе почему вторая цена одинакова на все товары и конвертируется с последнего товара? Касается всех модулей кроме product. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 18 января 2015 Поделиться Опубликовано: 18 января 2015 Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Подскажите пожалуйста код для конвертации прямо в шаблоне без контроллера. Интересно конкретно для модуля latest. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 19 января 2015 Поделиться Опубликовано: 19 января 2015 Помогите пожалуйста, очень нужно. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 Вперёд Страница 2 из 3 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу.
domtermo Опубликовано: 7 сентября 2014 Поделиться Опубликовано: 7 сентября 2014 вы попробуйте так number_format(round($price_by, -3), 0, '.', ' ') Большое спасибо! Работает! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
markimax Опубликовано: 7 сентября 2014 Поделиться Опубликовано: 7 сентября 2014 Может суть запроса была такая чтобы напротив каждой цены была кнопка "Купить" т.е. нажимаешь "Купить" в USD и в корзину идет товар и валюта переключается на USD? Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 4 месяца спустя... domtermo Опубликовано: 18 января 2015 Поделиться Опубликовано: 18 января 2015 Может кто в курсе почему вторая цена одинакова на все товары и конвертируется с последнего товара? Касается всех модулей кроме product. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 18 января 2015 Поделиться Опубликовано: 18 января 2015 Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Подскажите пожалуйста код для конвертации прямо в шаблоне без контроллера. Интересно конкретно для модуля latest. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... domtermo Опубликовано: 19 января 2015 Поделиться Опубликовано: 19 января 2015 Помогите пожалуйста, очень нужно. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 Вперёд Страница 2 из 3 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0
domtermo Опубликовано: 18 января 2015 Поделиться Опубликовано: 18 января 2015 Может кто в курсе почему вторая цена одинакова на все товары и конвертируется с последнего товара? Касается всех модулей кроме product. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
domtermo Опубликовано: 18 января 2015 Поделиться Опубликовано: 18 января 2015 Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Подскажите пожалуйста код для конвертации прямо в шаблоне без контроллера. Интересно конкретно для модуля latest. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
domtermo Опубликовано: 19 января 2015 Поделиться Опубликовано: 19 января 2015 Помогите пожалуйста, очень нужно. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Рекомендованные сообщения