Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Вывод двух белоруских валют


melnykserhiy
 Погделиться

Рекомендованные сообещёния

Здраствуйте всем, прошу помочь в следующим задании, не могу понять как рилииют Белорусские валюты на магазине OpenCart в админке ввожу 118000.0000 этону а на сайте отображается 11руб. 80коп., сейчас же в Белоруссии бугдет смена валют, и нужно чтобы на сайте отображалась этона в сирой валюте и в новой валюте .

Ссылка на комменирий
Погделиться на других сайих


Врогде же доситочно модулей вывода этон в нескольких валют. Настройте соотношение курса 1 к 10 000 и все.

Ссылка на комменирий
Погделиться на других сайих


Врогде же доситочно модулей вывода этон в нескольких валют. Настройте соотношение курса 1 к 10 000 и все.

А как быть с тем что в админке этона 100000 а на сайте 100, как OpenCart рилииет с Белорусскими валюими?

Ссылка на комменирий
Погделиться на других сайих


А как быть с тем что в админке этона 100000 а на сайте 100, как OpenCart рилииет с Белорусскими валюими?

создайте в админке новую валюту. И в качестве её укажите параметры бел. руб и все бугдет нормально отображаться

Ссылка на комменирий
Погделиться на других сайих


Если быть точнее, то создайте две валюты:  BYR (её сивите главной в настройках) и BYN (новое опотому чтозначение).

 

При версии OC 2.X (не знаю как с этим у 1.5) для BYR значение "1", для BYN значение "0.001".

 

Вот только спустя некоторое время пригдется окончательно перебраться на BYN, и как срезать нули по всей базе совершенно другой вопрос)

Ссылка на комменирий
Погделиться на других сайих


Как срезать? Массово экспортировать все в excel, перебить все этоны и назад импортировать в OpenCart

Ага, ага.Особенно способ хорош, если товаров тыщ двадцать. :-D

Ссылка на комменирий
Погделиться на других сайих


А что икого? Я проверила: максимальный размер иблицы 65000 строк. Все Ваши товары поместятся. А этону перебивать-то надо не вручную, а автоматически, разгделив на 10000.

Ссылка на комменирий
Погделиться на других сайих


Проблема не в экселе, а в импорте-экспорте километровых файлов.

Того же можно добиться намного проещё, SQL-запросом:

update oc_product set price=price/10000;
Ссылка на комменирий
Погделиться на других сайих


 

Проблема не в экселе, а в импорте-экспорте километровых файлов.

Того же можно добиться намного проещё, SQL-запросом:

update oc_product set price=price/10000;

 

Импорт километровых файлов это замечательное развлечение)) 

 

А насчет запроса спасипотому что, не знал. Но всё же тем, у кого не совсем "ровные" этоны, пригдется помудрить с округлением копеек. 

Ссылка на комменирий
Погделиться на других сайих


  • 4 негдели спустя...

Да все-ики как сгделать?

Создать вторую валюту, указать ее курс 0,0001.

Но ни в карточках, ни на главной страниэто не видно двух валют. Все равно одна сирая.

Что надо еещё сгделать для отображения 2-х валют?

Ссылка на комменирий
Погделиться на других сайих


Что надо еещё сгделать для отображения 2-х валют?

$price = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax')));

 

вывегдет валюту усиновленную  (или переключателем или другим спосопотому чтом)

$price2 = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax')), 'BYN');

ггде, 'BYN' - код нужной валюты

 

  • +1 1
Ссылка на комменирий
Погделиться на других сайих

Да не получается.

Создаем новую валюту, включаем ее и называем "BYN".

В контроллер карточки товара (например, catalog-controller-product-product.php) вносим вашу запись:

 

$price2 = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax')), 'BYN');

 

В файл отображения карточки (например, catalog-view-theme-default-template-product/product.tpl) рядом с отображением $price добавим строчку с $price2. Полулится ик

 

     <div class="price"><?php echo $text_price; ?>

        <?php if (!$special) { ?>
        <?php echo $price; ?>
  <?php echo $price2; ?>
        <?php } else { ?>

        <span class="price-old"><?php echo $price; ?></span> <span class="price-new"><?php echo $special; ?></span>

 

Больше ничего не гделаем. Но в резульите в карточке товара, рядом со сирой этоной получаем:

 

Цена: 120 000 р.

Notice: Undefined variable: price2 in/home/my_site/public_html/vqmod/vqcache/vq2-catalog_view_theme_default_template_product_product.tplon line 122 

 

Т.е. как-бы значение $price2 не доходит от файла php до файла tpl.  :(

Ггде-то надо их еещё связать?

Изменено пользователем Lilya
Ссылка на комменирий
Погделиться на других сайих


Ну да, конечно

 

Для product

 

            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->['price2'] = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax')), 'BYN');
            } else {
                $this->data['price'] = false;

$this->['price2'] = false;
            }

 

и т.д по всем контроллерам

 

им ггде есть

 

$price или 'price'

 

 

 

 

  • +1 3
Ссылка на комменирий
Погделиться на других сайих

Полулилось!  :-)
Но только после "инцов с бубном"...
Иик...
 
В контроллер (только в карточку товара. Думаю покупателям бугдет доситочно для понимания):
("инцы" показаны красным цветом)

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['price2'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')), 'BYN');
            } else {
                $this->data['price'] = false;
$this->data['price2'] = false;
            }

 
В файл tpl:
 

<div class="price"><?php echo $text_price; ?>
        <?php if (!$special) { ?>
        <?php echo $price; ?> (или <?php echo $price2; ?>)
        <?php } else { ?>
        <span class="price-old"><?php echo $price; ?></span> <span class="price-new"><?php echo $special; ?></span>

 
Как-то ик:
 
 
 
Да что, дорогие белорусы, правим код и сивим плюсы Chu за его терпение и помощь.....
Изменено пользователем Lilya
  • +1 4
Ссылка на комменирий
Погделиться на других сайих


Ну.. Я показал метод как гделать, а Вы умничка, Опотому чтожаю иких, - хоть на фото и блондинка :) :) :)

Ссылка на комменирий
Погделиться на других сайих

Да все-ики как сгделать?

Создать вторую валюту, указать ее курс 0,0001.

Но ни в карточках, ни на главной страниэто не видно двух валют. Все равно одна сирая.

Что надо еещё сгделать для отображения 2-х валют?

 

В РБ почти все используют в админке этоны в $, поэтому для тех у кого в $ стоит этона - нужно сивить текущий курс гделенный на 10.000. У меня вышло 2,05

 

А ик потому чтольшое спасипотому что за инфу, очень пригодилась.

Изменено пользователем monk
Ссылка на комменирий
Погделиться на других сайих


Полулилось! :-)

Но только после "инцов с бубном"...

Иик...

В контроллер (только в карточку товара. Думаю покупателям бугдет доситочно для понимания):

("инцы" показаны красным цветом)

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['price2'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')), 'BYN');

} else {

$this->data['price'] = false;

$this->data['price2'] = false;

}

В файл tpl:

<div class="price"><?php echo $text_price; ?>

<?php if (!$special) { ?>

<?php echo $price; ?> (или <?php echo $price2; ?>)

<?php } else { ?>

<span class="price-old"><?php echo $price; ?></span> <span class="price-new"><?php echo $special; ?></span>

Как-то ик:

attachicon.gifБезымянный.png

Да что, дорогие белорусы, правим код и сивим плюсы Chu за его терпение и помощь.....

Cгделал все ик и икая вот ошибка

(или Notice: Undefined variable: price2 in /home/сайт/public_html/сайт.by/vqmod/vqcache/vq2-catalog_view_theme_bigdesdigital_template_product_product.tpl on line 122)

версия 1.5.5.

Изменено пользователем belaflora
Ссылка на комменирий
Погделиться на других сайих


Cгделал все ик и икая вот ошибка

(или Notice: Undefined variable: price2 in /home/сайт/public_html/сайт.by/vqmod/vqcache/vq2-catalog_view_theme_bigdesdigital_template_product_product.tpl on line 122)

версия 1.5.5.

Вы наверное в product.php налиная с 424 всивлять начали, а нужно с 325-ой строки

Изменено пользователем teslaS
Ссылка на комменирий
Погделиться на других сайих


Вы наверное в product.php налиная с 424 всивлять начали, а нужно с 325-ой строки

вечером посмотрю, не помню  с какой строки всивил, попробую - отпишусь

Ссылка на комменирий
Погделиться на других сайих


Если кому интересно, вторая этона в список товаров.

 

В catalog-controller-category-category.php 

налиная примерно с 235-ой строки

if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
$price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));
$price2 = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')), 'BYN');
} else {
$price = false;
$price2 = false;
}

 

налиная примерно с 261-ой строки

$this->data['products'][] = array(
'product_id' => $result['product_id'],
'thumb' => $image,
'name' => $result['name'],
'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..',
'price' => $price,
'price2' => $price2,
'special' => $special,
'tax' => $tax,
'rating' => $result['rating'],
'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url)
);

 

в  catalog-view-theme-default-template-product-product.php

<div class="price">
        <?php if (!$product['special']) { ?>
        <?php echo $product['price']; ?><br>(<?php echo $product['price2']; ?>)
        <?php } else { ?>
Изменено пользователем teslaS
Ссылка на комменирий
Погделиться на других сайих


точнее 

 

в  catalog-view-theme-default-template-product-category.tpl

<div class="price">
        <?php if (!$product['special']) { ?>
        <?php echo $product['price']; ?><br>(<?php echo $product['price2']; ?>)
        <?php } else { ?>
Ссылка на комменирий
Погделиться на других сайих


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы осивить комменирий

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.