opencartを使用してインターネットで金を販売する小売事業を設定しています。違いは、新しい暗号化通貨であるビットコイン(BTC)のみを受け入れるということです。スクリプトにしたがってOpenCartの価格を変更する
貴金属価格とBTC/GBP交換は非常に揮発性であるという問題があります。したがって、私はオープンカートの価格が、かなりの頻度で自動的に更新され、為替レートの変動や売れ行きを避けるために必要です。
私は、金、銀、プラチナの価格を引き上げ、価格をビットコインで表したスクリプトを作成しました。
ウェブサイトの各メタリックアイテムについては、カタログ内のすべての製品の価格が自動的に変更されるようにしたいと思います(15分ごとが理想的です)。
私の質問は次のとおりです。スクリプトに基づいてopencartデータベースの価格を更新するにはどうすればよいですか?
価格は、4つのものに基づいて変更する必要があります。 貴金属の品目に含まれています。 そのアイテムのマークアップの割合 アイテムに含まれる貴金属の重量。 アイテムのコインのタイプ。
私はこれらのことをopencart内で編集可能な属性にしたいと考えています。すべての項目について、4(エクストラ)
メタルタイプ =>ゴールド =>シルバー =>プラチナ =>ない金属(他の項目のために、それはすべての重量を無視し、価格変更属性が存在することになります) 割合マークアップ 割合(整数) 重量 整数 コインマークアップ 整数 」 それでは、私はクルーガーランド金貨タイプの四分の一オンス金貨を売ってるとしましょう:?
四半期オンスの金貨体重を計るsの7.77グラム、製品のページでその重量と一緒にリストされます。基本価格は7.77グラム*ゴールド価格(グラム単位)に設定されます(この数字は付属のPHPスクリプトを使用して取得されます)。
卸売ゴールド価格からの私のデフォルトマークアップは10%、「ベース」価格は10%増加します。これも商品ページに表示されます。
Krugerrandsは、歴史的な理由から、金の卸売価格以上の価値を含む傾向があります。コインマークアップは約5ビットコインになるので、これを反映するために価格が上昇するでしょう。 」は、これらの価格フィドルの いずれも買い手が見るべきではない、彼らは金価格の変動を反映するために、すべての製品の価格は変化するであろうこれらの
のすべての時間ごとを反映するために、価格の変更が表示されます、およびBTC GBPの為替レート。
以下は、金価格、シルバー価格、およびプラチナ価格を引き上げるためのビットレートの金属1グラムの価格を示すPHPスクリプトです。今までプログラムされていたので、少し冗長であるか、または指定された慣習に従わないかもしれません。答えは非常に複雑になる可能性が高いので、完全なものは期待していません。
<?php
/* This is a script that ultimately displays the price of gold in grams, denominated in Bitcoins (BTC), a non fiat cryptographic currency. This is also the first thing I have ever programmed, so be nice */
// line break variable
$br = "<br> <br>";
// CURL begin
//curl session 1: grab metal prices
$ch1 = curl_init();
curl_setopt($ch1, CURLOPT_URL, 'http://drayah.no.de/metals/latest');
curl_setopt($ch1, CURLOPT_RETURNTRANSFER, 1);
$metalsdata = curl_exec($ch1);
// curl session 2: Grab exchange rate for BTC/GBP
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://mtgox.com/api/1/BTCGBP/public/ticker');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1);
curl_setopt($ch, CURLOPT_TIMEOUT_MS, 1000);
curl_setopt($ch, CURLOPT_USERAGENT, 'useragent');
$btcgbpdata = curl_exec($ch);
curl_close($ch);
// curl session 3: Grab British pounds to USD exchange rates
$ch1 = curl_init();
curl_setopt($ch1, CURLOPT_URL, 'https://raw.github.com/currencybot/open-exchange-rates/master/latest.json');
curl_setopt($ch1, CURLOPT_Rcheck if my code isETURNTRANSFER, 1);
$currencydata = curl_exec($ch1);
//gold digest: turn JSON data into readable php, and extract the gold price
$metals = json_decode($metalsdata, true, 512);
$goldprice = $metals['gold']['quote'];
$silverprice = $metals['silver']['quote'];
$platprice = $metals['platinum']['quote'];
//BTC digest of JSON
$btcgbp = json_decode($btcgbpdata, true, 512);
$btcgbpvwap = ($btcgbp['return']['vwap']['value']);
echo "$btcgbpvwap pounds per BTC";
echo $br;
//currency digest of JSON
$currency = json_decode($currencydata, true, 512);
$usdgbp = ($currency['rates']['GBP']);
echo "$usdgbp pence per USD dollar";
echo $br;
echo $br;
// convert metals into price per ounce in pounds
$goldpounds = $goldprice * $usdgbp;
$silverpounds = $silverprice * $usdgbp;
$platpounds = $platprice * $usdgbp;
echo "GBP $goldpounds per ounce of gold";
echo $br;
echo "GBP $silverpounds per ounce of silver";
echo $br;
echo "GBP $platpounds per ounce of platinum";
echo $br;
echo $br;
//metals prices in grams
$goldpoundsgram = $goldpounds/31.1034768;
$silverpoundsgram = $silverpounds/31.1034768;
$platpoundsgram = $platpounds/31.1034768;
echo "$goldpoundsgram pounds per gram of gold";
echo $br;
echo "$silverpoundsgram pounds per gram of silver";
echo $br;
echo "$platpoundsgram pounds per gram of platinum";
echo $br;
echo $br;
// metal prices denominated in BTC
$btcgoldgram = ($goldpoundsgram/$btcgbpvwap);
$btcsilvergram = ($silverpoundsgram/$btcgbpvwap);
$btcplatgram = ($platpoundsgram/$btcgbpvwap);
echo "<b>";
echo $btcgoldgram;
echo " bitcoins per gram of gold";
echo $br;
echo $btcsilvergram;
echo " bitcoins per gram of silver";
echo $br;
echo $btcplatgram;
echo " bitcoins per gram of platinum";
?>
に役立ちます。あなたは実際に質問を指定していないだけで、あなたの目標を教えてくれました。フィールドを追加してopencartで使用する必要がある場合は、これを行うか、OpenCartのMVC構造を学んでそれを使用する専門家を雇う必要があります –
親愛なるJay、私がどこで学ぶことができるか教えてくださいopencartのMVC構造体です。ドキュメンテーションは絶望的です。 – Joseph
最も簡単な方法は、簡単なコントローラーファイルを使用して作業を始め、そこから作業することです。あなたがドキュメントが不足していると言うように、学ぶ唯一の方法は、それを離れて、小さな編集からあなたがそれに慣れるまで学ぶことです。 –