Shkip Опубліковано: 21 серпня 2014 Share Опубліковано: 21 серпня 2014 вам вот такое надо? отображается в модулях, каталоге, карточке товара, сравнении, производители Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 22 серпня 2014 Share Опубліковано: 22 серпня 2014 Да, оно. Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 22 серпня 2014 Share Опубліковано: 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 } ?> результат Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 22 серпня 2014 Share Опубліковано: 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; Переменные должны быть разными? Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 22 серпня 2014 Share Опубліковано: 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, переключатель валют можно удалить, он все равно не будет работать Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 23 серпня 2014 Share Опубліковано: 23 серпня 2014 Переменную изменил. Всё равно одна цена в евро(( if ($currency == 'BYR') А вот тут если можно поподробней)) Это в файле /public_html/system/library/currency.php ? Что туда добавить? по настройке: в параметрах локализации поставить EUR, переключатель валют можно удалить, он все равно не будет работать В настройках евро стоит по умолчанию, BYR включен, конвертация в админке правильная. Переключатель валют давно уже удалил. Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 24 серпня 2014 Share Опубліковано: 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 тысячи, выбор валют перестанет работать, так что его можно удалить в шаблоне. Сделанные изменения могут работать независимо друг от друга. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 24 серпня 2014 Share Опубліковано: 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> Теперь вылезла другая проблема. Как у тебя реализованы пробелы в стоимости с б. рублях? Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 24 серпня 2014 Share Опубліковано: 24 серпня 2014 пробел перед руб. в настройке валют Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 27 серпня 2014 Share Опубліковано: 27 серпня 2014 а где в настройке валют руб. ? Может я не правильно выразился. Я имел в виду, что у меня к примеру цена выглядит 12345000, а хотелось бы 12 345 000 . Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 27 серпня 2014 Share Опубліковано: 27 серпня 2014 а где в настройке валют руб. ? Может я не правильно выразился. Я имел в виду, что у меня к примеру цена выглядит 12345000, а хотелось бы 12 345 000 . ...\catalog\language\russian\russian.php $_['thousand_point'] = ' '; Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 28 серпня 2014 Share Опубліковано: 28 серпня 2014 ...\catalog\language\russian\russian.php $_['thousand_point'] = ' '; Поставил $_['thousand_point'] = 'ВОТ ТУТ ПРОБЕЛ '; Ничего не поменялось.. Видимо срабатывет только для первой цены. Почему не распространяется на вторую? Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 29 серпня 2014 Share Опубліковано: 29 серпня 2014 потому что не установлен формат второй цены, используется просто число, символ валюты установлен вручную Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 29 серпня 2014 Share Опубліковано: 29 серпня 2014 round($price_byr,0) заменить на number_format($price_byr , 0 , '.' , ' ') Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 29 серпня 2014 Share Опубліковано: 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. Не могу въехать.. Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 30 серпня 2014 Share Опубліковано: 30 серпня 2014 сделайте все по моему коду - все работает, скрины я вам выкладывал. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 31 серпня 2014 Share Опубліковано: 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 принимает обычную цену. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 1 вересня 2014 Share Опубліковано: 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 (к примеру) Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 5 вересня 2014 Share Опубліковано: 5 вересня 2014 Shkip, не подскажете как округлить цену? Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 5 вересня 2014 Share Опубліковано: 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, '.', ' ') Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 7 вересня 2014 Share Опубліковано: 7 вересня 2014 вы попробуйте так number_format(round($price_by, -3), 0, '.', ' ') Большое спасибо! Работает! Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 7 вересня 2014 Share Опубліковано: 7 вересня 2014 Может суть запроса была такая чтобы напротив каждой цены была кнопка "Купить" т.е. нажимаешь "Купить" в USD и в корзину идет товар и валюта переключается на USD? Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Надіслати Поділитися на інших сайтах More sharing options... 4 months later... domtermo Опубліковано: 18 січня 2015 Share Опубліковано: 18 січня 2015 Может кто в курсе почему вторая цена одинакова на все товары и конвертируется с последнего товара? Касается всех модулей кроме product. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 18 січня 2015 Share Опубліковано: 18 січня 2015 Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Подскажите пожалуйста код для конвертации прямо в шаблоне без контроллера. Интересно конкретно для модуля latest. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 19 січня 2015 Share Опубліковано: 19 січня 2015 Помогите пожалуйста, очень нужно. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 2 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Встановлення, оновлення, налаштування отображение двух валют в opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
domtermo Опубліковано: 22 серпня 2014 Share Опубліковано: 22 серпня 2014 Да, оно. Надіслати Поділитися на інших сайтах More sharing options...
Shkip Опубліковано: 22 серпня 2014 Share Опубліковано: 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 } ?> результат Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 22 серпня 2014 Share Опубліковано: 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; Переменные должны быть разными? Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 22 серпня 2014 Share Опубліковано: 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, переключатель валют можно удалить, он все равно не будет работать Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 23 серпня 2014 Share Опубліковано: 23 серпня 2014 Переменную изменил. Всё равно одна цена в евро(( if ($currency == 'BYR') А вот тут если можно поподробней)) Это в файле /public_html/system/library/currency.php ? Что туда добавить? по настройке: в параметрах локализации поставить EUR, переключатель валют можно удалить, он все равно не будет работать В настройках евро стоит по умолчанию, BYR включен, конвертация в админке правильная. Переключатель валют давно уже удалил. Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 24 серпня 2014 Share Опубліковано: 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 тысячи, выбор валют перестанет работать, так что его можно удалить в шаблоне. Сделанные изменения могут работать независимо друг от друга. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 24 серпня 2014 Share Опубліковано: 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> Теперь вылезла другая проблема. Как у тебя реализованы пробелы в стоимости с б. рублях? Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 24 серпня 2014 Share Опубліковано: 24 серпня 2014 пробел перед руб. в настройке валют Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 27 серпня 2014 Share Опубліковано: 27 серпня 2014 а где в настройке валют руб. ? Может я не правильно выразился. Я имел в виду, что у меня к примеру цена выглядит 12345000, а хотелось бы 12 345 000 . Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 27 серпня 2014 Share Опубліковано: 27 серпня 2014 а где в настройке валют руб. ? Может я не правильно выразился. Я имел в виду, что у меня к примеру цена выглядит 12345000, а хотелось бы 12 345 000 . ...\catalog\language\russian\russian.php $_['thousand_point'] = ' '; Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 28 серпня 2014 Share Опубліковано: 28 серпня 2014 ...\catalog\language\russian\russian.php $_['thousand_point'] = ' '; Поставил $_['thousand_point'] = 'ВОТ ТУТ ПРОБЕЛ '; Ничего не поменялось.. Видимо срабатывет только для первой цены. Почему не распространяется на вторую? Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 29 серпня 2014 Share Опубліковано: 29 серпня 2014 потому что не установлен формат второй цены, используется просто число, символ валюты установлен вручную Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 29 серпня 2014 Share Опубліковано: 29 серпня 2014 round($price_byr,0) заменить на number_format($price_byr , 0 , '.' , ' ') Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 29 серпня 2014 Share Опубліковано: 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. Не могу въехать.. Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 30 серпня 2014 Share Опубліковано: 30 серпня 2014 сделайте все по моему коду - все работает, скрины я вам выкладывал. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 31 серпня 2014 Share Опубліковано: 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 принимает обычную цену. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 1 вересня 2014 Share Опубліковано: 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 (к примеру) Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 5 вересня 2014 Share Опубліковано: 5 вересня 2014 Shkip, не подскажете как округлить цену? Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 5 вересня 2014 Share Опубліковано: 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, '.', ' ') Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 7 вересня 2014 Share Опубліковано: 7 вересня 2014 вы попробуйте так number_format(round($price_by, -3), 0, '.', ' ') Большое спасибо! Работает! Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 7 вересня 2014 Share Опубліковано: 7 вересня 2014 Может суть запроса была такая чтобы напротив каждой цены была кнопка "Купить" т.е. нажимаешь "Купить" в USD и в корзину идет товар и валюта переключается на USD? Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Надіслати Поділитися на інших сайтах More sharing options... 4 months later... domtermo Опубліковано: 18 січня 2015 Share Опубліковано: 18 січня 2015 Может кто в курсе почему вторая цена одинакова на все товары и конвертируется с последнего товара? Касается всех модулей кроме product. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 18 січня 2015 Share Опубліковано: 18 січня 2015 Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Подскажите пожалуйста код для конвертации прямо в шаблоне без контроллера. Интересно конкретно для модуля latest. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 19 січня 2015 Share Опубліковано: 19 січня 2015 Помогите пожалуйста, очень нужно. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 2 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Встановлення, оновлення, налаштування отображение двух валют в opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
domtermo Опубліковано: 22 серпня 2014 Share Опубліковано: 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; Переменные должны быть разными? Надіслати Поділитися на інших сайтах More sharing options...
Shkip Опубліковано: 22 серпня 2014 Share Опубліковано: 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, переключатель валют можно удалить, он все равно не будет работать Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 23 серпня 2014 Share Опубліковано: 23 серпня 2014 Переменную изменил. Всё равно одна цена в евро(( if ($currency == 'BYR') А вот тут если можно поподробней)) Это в файле /public_html/system/library/currency.php ? Что туда добавить? по настройке: в параметрах локализации поставить EUR, переключатель валют можно удалить, он все равно не будет работать В настройках евро стоит по умолчанию, BYR включен, конвертация в админке правильная. Переключатель валют давно уже удалил. Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 24 серпня 2014 Share Опубліковано: 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 тысячи, выбор валют перестанет работать, так что его можно удалить в шаблоне. Сделанные изменения могут работать независимо друг от друга. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 24 серпня 2014 Share Опубліковано: 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> Теперь вылезла другая проблема. Как у тебя реализованы пробелы в стоимости с б. рублях? Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 24 серпня 2014 Share Опубліковано: 24 серпня 2014 пробел перед руб. в настройке валют Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 27 серпня 2014 Share Опубліковано: 27 серпня 2014 а где в настройке валют руб. ? Может я не правильно выразился. Я имел в виду, что у меня к примеру цена выглядит 12345000, а хотелось бы 12 345 000 . Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 27 серпня 2014 Share Опубліковано: 27 серпня 2014 а где в настройке валют руб. ? Может я не правильно выразился. Я имел в виду, что у меня к примеру цена выглядит 12345000, а хотелось бы 12 345 000 . ...\catalog\language\russian\russian.php $_['thousand_point'] = ' '; Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 28 серпня 2014 Share Опубліковано: 28 серпня 2014 ...\catalog\language\russian\russian.php $_['thousand_point'] = ' '; Поставил $_['thousand_point'] = 'ВОТ ТУТ ПРОБЕЛ '; Ничего не поменялось.. Видимо срабатывет только для первой цены. Почему не распространяется на вторую? Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 29 серпня 2014 Share Опубліковано: 29 серпня 2014 потому что не установлен формат второй цены, используется просто число, символ валюты установлен вручную Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 29 серпня 2014 Share Опубліковано: 29 серпня 2014 round($price_byr,0) заменить на number_format($price_byr , 0 , '.' , ' ') Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 29 серпня 2014 Share Опубліковано: 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. Не могу въехать.. Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 30 серпня 2014 Share Опубліковано: 30 серпня 2014 сделайте все по моему коду - все работает, скрины я вам выкладывал. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 31 серпня 2014 Share Опубліковано: 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 принимает обычную цену. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 1 вересня 2014 Share Опубліковано: 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 (к примеру) Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 5 вересня 2014 Share Опубліковано: 5 вересня 2014 Shkip, не подскажете как округлить цену? Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 5 вересня 2014 Share Опубліковано: 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, '.', ' ') Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 7 вересня 2014 Share Опубліковано: 7 вересня 2014 вы попробуйте так number_format(round($price_by, -3), 0, '.', ' ') Большое спасибо! Работает! Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 7 вересня 2014 Share Опубліковано: 7 вересня 2014 Может суть запроса была такая чтобы напротив каждой цены была кнопка "Купить" т.е. нажимаешь "Купить" в USD и в корзину идет товар и валюта переключается на USD? Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Надіслати Поділитися на інших сайтах More sharing options... 4 months later... domtermo Опубліковано: 18 січня 2015 Share Опубліковано: 18 січня 2015 Может кто в курсе почему вторая цена одинакова на все товары и конвертируется с последнего товара? Касается всех модулей кроме product. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 18 січня 2015 Share Опубліковано: 18 січня 2015 Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Подскажите пожалуйста код для конвертации прямо в шаблоне без контроллера. Интересно конкретно для модуля latest. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 19 січня 2015 Share Опубліковано: 19 січня 2015 Помогите пожалуйста, очень нужно. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 2 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Встановлення, оновлення, налаштування отображение двух валют в opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
domtermo Опубліковано: 23 серпня 2014 Share Опубліковано: 23 серпня 2014 Переменную изменил. Всё равно одна цена в евро(( if ($currency == 'BYR') А вот тут если можно поподробней)) Это в файле /public_html/system/library/currency.php ? Что туда добавить? по настройке: в параметрах локализации поставить EUR, переключатель валют можно удалить, он все равно не будет работать В настройках евро стоит по умолчанию, BYR включен, конвертация в админке правильная. Переключатель валют давно уже удалил. Надіслати Поділитися на інших сайтах More sharing options...
Shkip Опубліковано: 24 серпня 2014 Share Опубліковано: 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 тысячи, выбор валют перестанет работать, так что его можно удалить в шаблоне. Сделанные изменения могут работать независимо друг от друга. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 24 серпня 2014 Share Опубліковано: 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> Теперь вылезла другая проблема. Как у тебя реализованы пробелы в стоимости с б. рублях? Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 24 серпня 2014 Share Опубліковано: 24 серпня 2014 пробел перед руб. в настройке валют Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 27 серпня 2014 Share Опубліковано: 27 серпня 2014 а где в настройке валют руб. ? Может я не правильно выразился. Я имел в виду, что у меня к примеру цена выглядит 12345000, а хотелось бы 12 345 000 . Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 27 серпня 2014 Share Опубліковано: 27 серпня 2014 а где в настройке валют руб. ? Может я не правильно выразился. Я имел в виду, что у меня к примеру цена выглядит 12345000, а хотелось бы 12 345 000 . ...\catalog\language\russian\russian.php $_['thousand_point'] = ' '; Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 28 серпня 2014 Share Опубліковано: 28 серпня 2014 ...\catalog\language\russian\russian.php $_['thousand_point'] = ' '; Поставил $_['thousand_point'] = 'ВОТ ТУТ ПРОБЕЛ '; Ничего не поменялось.. Видимо срабатывет только для первой цены. Почему не распространяется на вторую? Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 29 серпня 2014 Share Опубліковано: 29 серпня 2014 потому что не установлен формат второй цены, используется просто число, символ валюты установлен вручную Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 29 серпня 2014 Share Опубліковано: 29 серпня 2014 round($price_byr,0) заменить на number_format($price_byr , 0 , '.' , ' ') Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 29 серпня 2014 Share Опубліковано: 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. Не могу въехать.. Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 30 серпня 2014 Share Опубліковано: 30 серпня 2014 сделайте все по моему коду - все работает, скрины я вам выкладывал. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 31 серпня 2014 Share Опубліковано: 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 принимает обычную цену. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 1 вересня 2014 Share Опубліковано: 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 (к примеру) Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 5 вересня 2014 Share Опубліковано: 5 вересня 2014 Shkip, не подскажете как округлить цену? Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 5 вересня 2014 Share Опубліковано: 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, '.', ' ') Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 7 вересня 2014 Share Опубліковано: 7 вересня 2014 вы попробуйте так number_format(round($price_by, -3), 0, '.', ' ') Большое спасибо! Работает! Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 7 вересня 2014 Share Опубліковано: 7 вересня 2014 Может суть запроса была такая чтобы напротив каждой цены была кнопка "Купить" т.е. нажимаешь "Купить" в USD и в корзину идет товар и валюта переключается на USD? Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Надіслати Поділитися на інших сайтах More sharing options... 4 months later... domtermo Опубліковано: 18 січня 2015 Share Опубліковано: 18 січня 2015 Может кто в курсе почему вторая цена одинакова на все товары и конвертируется с последнего товара? Касается всех модулей кроме product. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 18 січня 2015 Share Опубліковано: 18 січня 2015 Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Подскажите пожалуйста код для конвертации прямо в шаблоне без контроллера. Интересно конкретно для модуля latest. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 19 січня 2015 Share Опубліковано: 19 січня 2015 Помогите пожалуйста, очень нужно. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 2 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Встановлення, оновлення, налаштування отображение двух валют в opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
domtermo Опубліковано: 24 серпня 2014 Share Опубліковано: 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> Теперь вылезла другая проблема. Как у тебя реализованы пробелы в стоимости с б. рублях? Надіслати Поділитися на інших сайтах More sharing options...
Shkip Опубліковано: 24 серпня 2014 Share Опубліковано: 24 серпня 2014 пробел перед руб. в настройке валют Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 27 серпня 2014 Share Опубліковано: 27 серпня 2014 а где в настройке валют руб. ? Может я не правильно выразился. Я имел в виду, что у меня к примеру цена выглядит 12345000, а хотелось бы 12 345 000 . Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 27 серпня 2014 Share Опубліковано: 27 серпня 2014 а где в настройке валют руб. ? Может я не правильно выразился. Я имел в виду, что у меня к примеру цена выглядит 12345000, а хотелось бы 12 345 000 . ...\catalog\language\russian\russian.php $_['thousand_point'] = ' '; Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 28 серпня 2014 Share Опубліковано: 28 серпня 2014 ...\catalog\language\russian\russian.php $_['thousand_point'] = ' '; Поставил $_['thousand_point'] = 'ВОТ ТУТ ПРОБЕЛ '; Ничего не поменялось.. Видимо срабатывет только для первой цены. Почему не распространяется на вторую? Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 29 серпня 2014 Share Опубліковано: 29 серпня 2014 потому что не установлен формат второй цены, используется просто число, символ валюты установлен вручную Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 29 серпня 2014 Share Опубліковано: 29 серпня 2014 round($price_byr,0) заменить на number_format($price_byr , 0 , '.' , ' ') Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 29 серпня 2014 Share Опубліковано: 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. Не могу въехать.. Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 30 серпня 2014 Share Опубліковано: 30 серпня 2014 сделайте все по моему коду - все работает, скрины я вам выкладывал. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 31 серпня 2014 Share Опубліковано: 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 принимает обычную цену. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 1 вересня 2014 Share Опубліковано: 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 (к примеру) Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 5 вересня 2014 Share Опубліковано: 5 вересня 2014 Shkip, не подскажете как округлить цену? Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 5 вересня 2014 Share Опубліковано: 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, '.', ' ') Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 7 вересня 2014 Share Опубліковано: 7 вересня 2014 вы попробуйте так number_format(round($price_by, -3), 0, '.', ' ') Большое спасибо! Работает! Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 7 вересня 2014 Share Опубліковано: 7 вересня 2014 Может суть запроса была такая чтобы напротив каждой цены была кнопка "Купить" т.е. нажимаешь "Купить" в USD и в корзину идет товар и валюта переключается на USD? Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Надіслати Поділитися на інших сайтах More sharing options... 4 months later... domtermo Опубліковано: 18 січня 2015 Share Опубліковано: 18 січня 2015 Может кто в курсе почему вторая цена одинакова на все товары и конвертируется с последнего товара? Касается всех модулей кроме product. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 18 січня 2015 Share Опубліковано: 18 січня 2015 Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Подскажите пожалуйста код для конвертации прямо в шаблоне без контроллера. Интересно конкретно для модуля latest. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 19 січня 2015 Share Опубліковано: 19 січня 2015 Помогите пожалуйста, очень нужно. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 2 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Встановлення, оновлення, налаштування отображение двух валют в opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
domtermo Опубліковано: 27 серпня 2014 Share Опубліковано: 27 серпня 2014 а где в настройке валют руб. ? Может я не правильно выразился. Я имел в виду, что у меня к примеру цена выглядит 12345000, а хотелось бы 12 345 000 . Надіслати Поділитися на інших сайтах More sharing options...
Shkip Опубліковано: 27 серпня 2014 Share Опубліковано: 27 серпня 2014 а где в настройке валют руб. ? Может я не правильно выразился. Я имел в виду, что у меня к примеру цена выглядит 12345000, а хотелось бы 12 345 000 . ...\catalog\language\russian\russian.php $_['thousand_point'] = ' '; Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 28 серпня 2014 Share Опубліковано: 28 серпня 2014 ...\catalog\language\russian\russian.php $_['thousand_point'] = ' '; Поставил $_['thousand_point'] = 'ВОТ ТУТ ПРОБЕЛ '; Ничего не поменялось.. Видимо срабатывет только для первой цены. Почему не распространяется на вторую? Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 29 серпня 2014 Share Опубліковано: 29 серпня 2014 потому что не установлен формат второй цены, используется просто число, символ валюты установлен вручную Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 29 серпня 2014 Share Опубліковано: 29 серпня 2014 round($price_byr,0) заменить на number_format($price_byr , 0 , '.' , ' ') Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 29 серпня 2014 Share Опубліковано: 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. Не могу въехать.. Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 30 серпня 2014 Share Опубліковано: 30 серпня 2014 сделайте все по моему коду - все работает, скрины я вам выкладывал. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 31 серпня 2014 Share Опубліковано: 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 принимает обычную цену. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 1 вересня 2014 Share Опубліковано: 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 (к примеру) Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 5 вересня 2014 Share Опубліковано: 5 вересня 2014 Shkip, не подскажете как округлить цену? Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 5 вересня 2014 Share Опубліковано: 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, '.', ' ') Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 7 вересня 2014 Share Опубліковано: 7 вересня 2014 вы попробуйте так number_format(round($price_by, -3), 0, '.', ' ') Большое спасибо! Работает! Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 7 вересня 2014 Share Опубліковано: 7 вересня 2014 Может суть запроса была такая чтобы напротив каждой цены была кнопка "Купить" т.е. нажимаешь "Купить" в USD и в корзину идет товар и валюта переключается на USD? Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Надіслати Поділитися на інших сайтах More sharing options... 4 months later... domtermo Опубліковано: 18 січня 2015 Share Опубліковано: 18 січня 2015 Может кто в курсе почему вторая цена одинакова на все товары и конвертируется с последнего товара? Касается всех модулей кроме product. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 18 січня 2015 Share Опубліковано: 18 січня 2015 Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Подскажите пожалуйста код для конвертации прямо в шаблоне без контроллера. Интересно конкретно для модуля latest. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 19 січня 2015 Share Опубліковано: 19 січня 2015 Помогите пожалуйста, очень нужно. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 2 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Встановлення, оновлення, налаштування отображение двух валют в opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
domtermo Опубліковано: 28 серпня 2014 Share Опубліковано: 28 серпня 2014 ...\catalog\language\russian\russian.php $_['thousand_point'] = ' '; Поставил $_['thousand_point'] = 'ВОТ ТУТ ПРОБЕЛ '; Ничего не поменялось.. Видимо срабатывет только для первой цены. Почему не распространяется на вторую? Надіслати Поділитися на інших сайтах More sharing options...
Shkip Опубліковано: 29 серпня 2014 Share Опубліковано: 29 серпня 2014 потому что не установлен формат второй цены, используется просто число, символ валюты установлен вручную Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 29 серпня 2014 Share Опубліковано: 29 серпня 2014 round($price_byr,0) заменить на number_format($price_byr , 0 , '.' , ' ') Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 29 серпня 2014 Share Опубліковано: 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. Не могу въехать.. Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 30 серпня 2014 Share Опубліковано: 30 серпня 2014 сделайте все по моему коду - все работает, скрины я вам выкладывал. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 31 серпня 2014 Share Опубліковано: 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 принимает обычную цену. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 1 вересня 2014 Share Опубліковано: 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 (к примеру) Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 5 вересня 2014 Share Опубліковано: 5 вересня 2014 Shkip, не подскажете как округлить цену? Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 5 вересня 2014 Share Опубліковано: 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, '.', ' ') Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 7 вересня 2014 Share Опубліковано: 7 вересня 2014 вы попробуйте так number_format(round($price_by, -3), 0, '.', ' ') Большое спасибо! Работает! Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 7 вересня 2014 Share Опубліковано: 7 вересня 2014 Может суть запроса была такая чтобы напротив каждой цены была кнопка "Купить" т.е. нажимаешь "Купить" в USD и в корзину идет товар и валюта переключается на USD? Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Надіслати Поділитися на інших сайтах More sharing options... 4 months later... domtermo Опубліковано: 18 січня 2015 Share Опубліковано: 18 січня 2015 Может кто в курсе почему вторая цена одинакова на все товары и конвертируется с последнего товара? Касается всех модулей кроме product. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 18 січня 2015 Share Опубліковано: 18 січня 2015 Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Подскажите пожалуйста код для конвертации прямо в шаблоне без контроллера. Интересно конкретно для модуля latest. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 19 січня 2015 Share Опубліковано: 19 січня 2015 Помогите пожалуйста, очень нужно. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 2 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Встановлення, оновлення, налаштування отображение двух валют в opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Shkip Опубліковано: 29 серпня 2014 Share Опубліковано: 29 серпня 2014 round($price_byr,0) заменить на number_format($price_byr , 0 , '.' , ' ') Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 29 серпня 2014 Share Опубліковано: 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. Не могу въехать.. Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 30 серпня 2014 Share Опубліковано: 30 серпня 2014 сделайте все по моему коду - все работает, скрины я вам выкладывал. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 31 серпня 2014 Share Опубліковано: 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 принимает обычную цену. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 1 вересня 2014 Share Опубліковано: 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 (к примеру) Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 5 вересня 2014 Share Опубліковано: 5 вересня 2014 Shkip, не подскажете как округлить цену? Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 5 вересня 2014 Share Опубліковано: 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, '.', ' ') Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 7 вересня 2014 Share Опубліковано: 7 вересня 2014 вы попробуйте так number_format(round($price_by, -3), 0, '.', ' ') Большое спасибо! Работает! Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 7 вересня 2014 Share Опубліковано: 7 вересня 2014 Может суть запроса была такая чтобы напротив каждой цены была кнопка "Купить" т.е. нажимаешь "Купить" в USD и в корзину идет товар и валюта переключается на USD? Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Надіслати Поділитися на інших сайтах More sharing options... 4 months later... domtermo Опубліковано: 18 січня 2015 Share Опубліковано: 18 січня 2015 Может кто в курсе почему вторая цена одинакова на все товары и конвертируется с последнего товара? Касается всех модулей кроме product. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 18 січня 2015 Share Опубліковано: 18 січня 2015 Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Подскажите пожалуйста код для конвертации прямо в шаблоне без контроллера. Интересно конкретно для модуля latest. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 19 січня 2015 Share Опубліковано: 19 січня 2015 Помогите пожалуйста, очень нужно. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 2 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Встановлення, оновлення, налаштування отображение двух валют в opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV
domtermo Опубліковано: 29 серпня 2014 Share Опубліковано: 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. Не могу въехать.. Надіслати Поділитися на інших сайтах More sharing options...
Shkip Опубліковано: 30 серпня 2014 Share Опубліковано: 30 серпня 2014 сделайте все по моему коду - все работает, скрины я вам выкладывал. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 31 серпня 2014 Share Опубліковано: 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 принимает обычную цену. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 1 вересня 2014 Share Опубліковано: 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 (к примеру) Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 5 вересня 2014 Share Опубліковано: 5 вересня 2014 Shkip, не подскажете как округлить цену? Надіслати Поділитися на інших сайтах More sharing options... Shkip Опубліковано: 5 вересня 2014 Share Опубліковано: 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, '.', ' ') Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 7 вересня 2014 Share Опубліковано: 7 вересня 2014 вы попробуйте так number_format(round($price_by, -3), 0, '.', ' ') Большое спасибо! Работает! Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 7 вересня 2014 Share Опубліковано: 7 вересня 2014 Может суть запроса была такая чтобы напротив каждой цены была кнопка "Купить" т.е. нажимаешь "Купить" в USD и в корзину идет товар и валюта переключается на USD? Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Надіслати Поділитися на інших сайтах More sharing options... 4 months later... domtermo Опубліковано: 18 січня 2015 Share Опубліковано: 18 січня 2015 Может кто в курсе почему вторая цена одинакова на все товары и конвертируется с последнего товара? Касается всех модулей кроме product. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 18 січня 2015 Share Опубліковано: 18 січня 2015 Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Подскажите пожалуйста код для конвертации прямо в шаблоне без контроллера. Интересно конкретно для модуля latest. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 19 січня 2015 Share Опубліковано: 19 січня 2015 Помогите пожалуйста, очень нужно. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 2 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Встановлення, оновлення, налаштування отображение двух валют в opencart
domtermo Опубліковано: 31 серпня 2014 Share Опубліковано: 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 принимает обычную цену. Надіслати Поділитися на інших сайтах More sharing options...
domtermo Опубліковано: 1 вересня 2014 Share Опубліковано: 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 (к примеру) Надіслати Поділитися на інших сайтах More sharing options...
domtermo Опубліковано: 5 вересня 2014 Share Опубліковано: 5 вересня 2014 Shkip, не подскажете как округлить цену? Надіслати Поділитися на інших сайтах More sharing options...
Shkip Опубліковано: 5 вересня 2014 Share Опубліковано: 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, '.', ' ') Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 7 вересня 2014 Share Опубліковано: 7 вересня 2014 вы попробуйте так number_format(round($price_by, -3), 0, '.', ' ') Большое спасибо! Работает! Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 7 вересня 2014 Share Опубліковано: 7 вересня 2014 Может суть запроса была такая чтобы напротив каждой цены была кнопка "Купить" т.е. нажимаешь "Купить" в USD и в корзину идет товар и валюта переключается на USD? Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Надіслати Поділитися на інших сайтах More sharing options... 4 months later... domtermo Опубліковано: 18 січня 2015 Share Опубліковано: 18 січня 2015 Может кто в курсе почему вторая цена одинакова на все товары и конвертируется с последнего товара? Касается всех модулей кроме product. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 18 січня 2015 Share Опубліковано: 18 січня 2015 Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Подскажите пожалуйста код для конвертации прямо в шаблоне без контроллера. Интересно конкретно для модуля latest. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 19 січня 2015 Share Опубліковано: 19 січня 2015 Помогите пожалуйста, очень нужно. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 2 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
domtermo Опубліковано: 7 вересня 2014 Share Опубліковано: 7 вересня 2014 вы попробуйте так number_format(round($price_by, -3), 0, '.', ' ') Большое спасибо! Работает! Надіслати Поділитися на інших сайтах More sharing options...
markimax Опубліковано: 7 вересня 2014 Share Опубліковано: 7 вересня 2014 Может суть запроса была такая чтобы напротив каждой цены была кнопка "Купить" т.е. нажимаешь "Купить" в USD и в корзину идет товар и валюта переключается на USD? Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Надіслати Поділитися на інших сайтах More sharing options... 4 months later... domtermo Опубліковано: 18 січня 2015 Share Опубліковано: 18 січня 2015 Может кто в курсе почему вторая цена одинакова на все товары и конвертируется с последнего товара? Касается всех модулей кроме product. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 18 січня 2015 Share Опубліковано: 18 січня 2015 Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Подскажите пожалуйста код для конвертации прямо в шаблоне без контроллера. Интересно конкретно для модуля latest. Надіслати Поділитися на інших сайтах More sharing options... domtermo Опубліковано: 19 січня 2015 Share Опубліковано: 19 січня 2015 Помогите пожалуйста, очень нужно. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 2 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
domtermo Опубліковано: 18 січня 2015 Share Опубліковано: 18 січня 2015 Может кто в курсе почему вторая цена одинакова на все товары и конвертируется с последнего товара? Касается всех модулей кроме product. Надіслати Поділитися на інших сайтах More sharing options...
domtermo Опубліковано: 18 січня 2015 Share Опубліковано: 18 січня 2015 Потому что, отображение довольно тривиальная задача, можно прямо в шаблоне "конвертировать" и НЕ лезть в контроллер Подскажите пожалуйста код для конвертации прямо в шаблоне без контроллера. Интересно конкретно для модуля latest. Надіслати Поділитися на інших сайтах More sharing options...
domtermo Опубліковано: 19 січня 2015 Share Опубліковано: 19 січня 2015 Помогите пожалуйста, очень нужно. Надіслати Поділитися на інших сайтах More sharing options...
Recommended Posts