Перейти к содержанию
  • В связи с блокировкой банка QIWI оплата через сайт не возможна.
    Для оплаты и получения дополнений просьба писать в личные сообщения
    Admin*у
    После оплаты Вам так же будет доступно скачивание дополнений и обновлений на данном форуме

Как сделать вторую цену в Биткоинах (bitcoin, btc).


Pascha
 Поделиться

Рекомендуемые сообщения

Криптовалюты все больше и больше входят в нашу жизнь. И если еще пару лет назад многие воспринимали их как «пустышку», то сегодня уже начинают понимать перспективу. Многие магазины начинают принимать в качестве оплаты за свои услуги криптовалюту, в частности bitcoin.

Я сегодня не буду рассматривать как добавить BTC в качестве валюты и как получать их курсы в автоматическом режиме. Сегодня речь пойдет как вывести рядом с основной ценой в категориях и в карточке товара цену в биткоинах.

Доработки будем делать в контроллерах, добавив новую переменную. Для получения курса будем использовать сервис bitpay.com, в частности его API. Я не буду детально разбирать сам скрипт. Он ниже

$url = "https://bitpay.com/api/rates";
		$json = json_decode(file_get_contents($url));
		$dollar = $btc = 0;
		foreach($json as $obj){
	      if ($obj->code=='USD') {
			$kursbtc = (1/$obj->rate)*$result['price'];
			$kursbtc = number_format($kursbtc, 8, ".", "");
	      }
		}

Идем в /catalog/product/category.php и после строки

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

вставляем код, который я дал выше. Для цены со скидкой код будет чуть другим

$url = "https://bitpay.com/api/rates";
$json = json_decode(file_get_contents($url));
$dollar = $btc = 0;
foreach($json as $obj){
      if ($obj->code=='USD') {
$kursbtc_spec = (1/$obj->rate)*$result['special'];
$kursbtc_spec = number_format($kursbtc_spec, 8, ".", "");
      }
}

Далее после

'price'       => $price,
'special'     => $special,

Добавляем

'kursbtc'       => $kursbtc,
'kursbtc_spec'     => $kursbtc_spec,

По аналогии доработки делаются и для модулей Последние, Новинки, Рекомендуемые, Акционные

В темплейте этих модулей в необходимом месте добавляем код вывода цены в bitcoin

<?php echo $product['kursbtc']; ?>
<?php echo $product['kursbtc_spec']; ?>

Как вывести цену товара в BTC в карточке товара

Теперь переходим к варточке товара.

Опять идем в контроллер по адресу /catalog/product/product.php и после

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

добавляем код

$url = "https://bitpay.com/api/rates";
$json = json_decode(file_get_contents($url));
$dollar = $btc = 0;
foreach($json as $obj){
      if ($obj->code=='USD') {
$data['kursbtc'] = (1/$obj->rate)*$result['special'];
$data['kursbtc'] = number_format($data['kursbtc'], 8, ".", "");
      }
}

И так же по аналогии делаем доработку для товаров со скидкой

$url = "https://bitpay.com/api/rates";
$json = json_decode(file_get_contents($url));
$dollar = $btc = 0;
foreach($json as $obj){
      if ($obj->code=='USD') {
$data['kursbtc_spec'] = (1/$obj->rate)*$result['special'];
$data['kursbtc_spec'] = number_format($data['kursbtc_spec'], 8, ".", "");
      }
}

Теперь идем в темплейт карточки товара и в нужном месте выводим стоимость в биткоинах

<?php echo $kursbtc; ?>
<?php echo $kursbtc_spec; ?>

Не забываем после всех этих изменений обновить или почистить кеш модификаторов.

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

cart15.png.fbe427261c187d2b2500d5b04ab0c30b.png

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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

 Поделиться

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...