Перейти к содержанию
View in the app

A better way to browse. Learn more.

Русскоязычное сообщество Opencart

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

В связи с блокировкой банка QIWI оплата через сайт не возможна.
Для оплаты и получения дополнений просьба писать в личные сообщения 
Admin*у
или в Телеграмм https://t.me/pascha_opencart
После оплаты Вам так же будет доступно скачивание дополнений и обновлений на данном форуме

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

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

Опубликовано

Криптовалюты все больше и больше входят в нашу жизнь. И если еще пару лет назад многие воспринимали их как «пустышку», то сегодня уже начинают понимать перспективу. Многие магазины начинают принимать в качестве оплаты за свои услуги криптовалюту, в частности 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

Последние посетители 0

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.