独自のVPSホスティングをゼロから作成し、その上でお金を稼ぐ方法は? Virtuemartを使用した簡単な請求



こんにちは、Habrの親愛なる読者。 この資料は、RUVDS White Label APIに基づいてゼロからVPSホスティングを構築する方法に関する一連の記事の続きです。 そして今日は、人気のあるJoomla CMSと最も人気のあるeコマースソリューションの1つであるVirtueMartを見ていきます。



バーチューマート



一般的に言えば、この拡張機能は長い間存在しています(最初のバージョンは2005年に既にリリースされています)。

この製品はCMS Joomlaで成長および開発され、 現在はかなり幅広い機能を備えています。



Virtuemart 3プラグインの長所と短所を一緒に見てみましょう。



長所







短所







VPSホスティングの適応の機能



支払いを受け入れる



手順は、 wordpressやwoocommerceなどの他のバンドルを使用する場合と同じです私たち知っているペイマスターアグリゲーターと統合するために、 無料の拡張をダウンロードしてください。 ペイマスター拡張機能のセットアップについては、同じリンクで詳しく説明されています。



ゲストショッピングを無効にする



「Virtuemart」>「構成」>「チェックアウト」に進み、「登録済みユーザーのみがチェックアウトできる」フラグを設定します。



ページ設定



Virtuemartプラグインをインストールした後、メニューで特殊なページを使用する機会があります。 メインページからショーケースを作成するには、[メニュー]> [管理]に移動し、エイリアスホームでメニューを編集します。 メニュー項目タイプを、Virtuemartが提供するタイプのいずれかに変更する必要があります。



カテゴリレイアウトと標準のJoomlaレイアウト(バージョン3.5)を選択しました。基本的なVPS構成を追加すると、メインページは次のようになります。







有料注文の処理



したがって、同じタスクがあります。





統合のために利用できるもの






最後のオプションについて説明します。 このプラグインをインストールすると、次のSOAPサービスが利用可能になります。





それらのwsdlはurlでアクセス可能です(商品のカテゴリーを管理するサービスの例):

http://ホスト/管理者/コンポーネント/ com_vm_soa / services /VM_CategoriesWSDL.php



3-VM_Order、VM_Product、VM_SQLQueriesが必要です。



残念ながら、この統合方法を使用する場合、フックメカニズムは使用できません。 したがって、適切なステータスの注文を定期的に選択し、目的の構成のサーバーの作成を開始します。



PHP言語で、注文の支払い後にサーバーを作成する簡単なスクリプトを作成します。

<?php function getApplicationSettings() { return [ 'login' =>'admin', 'password'=>'admin', 'orderServiceWsdl'=>'http://localhost/administrator/components/com_vm_soa/services/VM_OrderWSDL.php', 'productServiceWsdl' =>'http://localhost/administrator/components/com_vm_soa/services/VM_ProductWSDL.php' ]; } function getCompleteOrders($limitStart = 0, $limitEnd=1000) { $applicationSettings = getApplicationSettings(); $loginInfo = new stdClass; $loginInfo->login=$applicationSettings['login']; $loginInfo->password=$applicationSettings['password']; $loginInfo->isEncrypted="Y"; $loginInfo->lang=null; $orderServiceClient = new SoapClient($applicationSettings['orderServiceWsdl']); $getOrderFromStatusRequest = new stdClass; $getOrderFromStatusRequest->limite_start = $limitStart; $getOrderFromStatusRequest->limite_end = $limitEnd; $getOrderFromStatusRequest->status = 'F'; //  $getOrderFromStatusRequest->loginInfo = $loginInfo; try { //      "" return [$orderServiceClient->GetOrdersFromStatus($getOrderFromStatusRequest)]; }catch(\SoapFault $e){ echo $e->getMessage(); return false; } } function processPayedOrder($orderId) { $applicationSettings = getApplicationSettings(); $loginInfo = new stdClass; $loginInfo->login=$applicationSettings['login']; $loginInfo->password=$applicationSettings['password']; $loginInfo->isEncrypted="Y"; $loginInfo->lang=null; $productServiceClient = new SoapClient($applicationSettings['productServiceWsdl']); $getProductsFromOrderIdRequest = new stdClass; $getProductsFromOrderIdRequest->order_id = $orderId; $getProductsFromOrderIdRequest->include_prices = true; $getProductsFromOrderIdRequest->loginInfo = $loginInfo; try { //    $products = [$productServiceClient->GetProductsFromOrderId($getProductsFromOrderIdRequest)]; } catch(\SoapFault $e){ echo $e->getMessage(); return false; } //       foreach($products as $product) createRuvdsServer($product); return true; } function createRuvdsServer($product) { //     RUVDS White-Label Api     } $orders = getCompleteOrders(); if (!$orders || count($orders)==0) return 1; foreach ($orders as $order) { $orderId=$order->Order->id; $res = processPayedOrder($orderId); if(!$res) echo 'Processing order with id '.$orderId.' failed!'; }
      
      







次に、cronなどのタスクスケジューラを使用して、必要な頻度でこのスクリプトの起動を構成します。



まとめ



一般的に、Joomla 3 + Virtuemart 3バンドルは、VPSホスティングを整理するための基盤として、かなり機能的で強力なツールのように見えます。 箱から出してすぐに、あなたが想像できるすべてのための多くの設定があります。 しかし、たとえば3〜10個の一般的な仮想サーバー構成を再販する場合、これは必要ですか?



次の記事では、CMS Drupalとその最も人気のあるeコマース拡張機能の1つを見ていきます。おそらく、新しいCMSはこのタスクにより適しているでしょう。 じゃあね!



All Articles