您在這裡

drupal 的e-commerce m模組能提供以下功能嗎?

adrianmak's 的頭像
adrianmak 在 2008-05-21 (三) 14:32 發表

有客戶查詢,想做個shopping cart

我在想,由零開發,或用現有的開源軟件做二次開發。那樣好呢??!!!

這是客戶的要求

drupal 的e-commerce, out of the box 能提供到以上功能嗎???

這裡有人熟識e-commerce 模組嗎?

Hello, adrianmak.

我來裝熟一下 :p

目前 drupal.org 上有二個重要的 eCommerce modules, 分別是 e-Commerce 與 Ubercart。在這裡可以找到 http://drupal.org/project/Modules/category/104

一、e-Commerce VS. Ubercart 各有其特色
功能強 - 設定也相對地多,二個都可以裝起來評估看看。

  • 商品與分類呈現:Ubercart 不管是商品詳細說明頁面與分類目錄的呈現,都整合好了,不用太費事;e-Commerce 印象中要再定義 Content type 來加強處理,然後還要處理分類選單與分類目錄 Views 的工作。
  • 模組文件說明:因為都很複雜,這二個模組分別在開發者的支援網站中,有詳列版本、API、以及相關技術文件與討論,發展活力都很強勁。
  • 付費與運送方式:國外常見的付款與運送方式,幾乎都有;專案的個別需求可以建立在這個基礎上,加以開發。照你客戶的需求來看,會員有上、下線的關係,會員系統、積分計點以及統計報表等,須要更多的程式設計,特別是那上、下線的規則與關係,開發上有得搞。另外值得一提的是 Ubercart 在 Paypal Solutions Directory 榜上有名( https://www.paypal.com/en_US/html/SolutionsDirectory/sd_prosol-ubercart.... ) 。

二、建立在 Drupal 上開發
Drupal core 是很強的內容管理系統,處理多語系、內容類型與編輯、版型、e-mail、SMS... 等相關模組都有現現成的基礎,彈性利用這個資源來發展專案是很好的方式。而電子商務的需求,每個業主都有獨特的銷售手法,客製成本與開發預算,不算小事。

對於此案,很顯然那個上、下線的組織關係是個開發重點。整體而言,從"零"開始是個很大的問號?

在會員是有上、下線的關係

新會員要由舊會員推薦才能成為會員,因此形成上下線的關係
積分系統是當下線會員買了東西,若干的積分就會給了他的上線會員

這種東西要怎樣入手???
比如,我想到的是怎樣擴展現有druapl 的用戶系統來支援積分, 這方向正確嗎?

另,大大講到 "從"零"開始是個很大的問號?" , 言下用druapl 作二次開發會好過 "start from scratch"

呵~ 我小小的理解力,從來搞不懂那會員的階層關係,也許會衍生出 N 階的變化和複雜的計算吧。

「從頭開始」發展,要怎麼做呢?而基於 Druapl 共通工具之上再創作,要怎麼用呢?適不適當我無法斷言。

或許再回頭看看這篇經典的介紹文「自行開發vs.使用Drupal」,值得想想,心有戚戚焉呀!

e-Commerce Module 有 CCard 信用卡付款的機制,要結合國內信用卡付款,可以進一步修改 contribute/ecommerce/contrib/ccard/ccard.module 以及 payment gateway 相關條件。底下是 ccard.module 其中一段有關處理信用卡的 function.

function _ccard_process(&$edit) {
$t =& $edit['t'];
$ccard_url = 'https://ccard.com.au/cc/cc2.cgi';

$query = array(
'cmd' => 'c',
'nop' => '3',
'cid' => variable_get('ccard_clientid', ''),
'totalcost' => $t->gross,
'ccname' => $edit['name'],
'cc' => $edit['cardnumber'],
'ccexp' => $edit['expiry']['expmonth'].$edit['expiry']['expyear'],
'ccvn' => $edit['cvn'],
'op_txnid' => $t->txnid,
'sep' => '|'
);
$q = http_build_query($query);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $ccard_url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $q);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$resp = explode('|', str_replace("\n", "", curl_exec($ch)));
curl_close($ch);

/* these left-hand side arguments must be filled in all payment
* modules to take advantage of the centralised code. */
$edit['payment']['cc_refnum'] = $resp[1];
$edit['payment']['cc_orderno'] = $resp[2];
$edit['payment']['cc_amount'] = $resp[3];
$edit['payment']['cc_reason'] = $resp[4] ? $resp[4] : $resp[0];

return $resp[0] === '0' ? true : false;
}

一、到 admin/build/modules 啟用 ccard:
enable ccard module

二、下單之後填寫信用卡號的畫面
enter credit card details

這個項目取消了,客戶付得太少價錢了!!

不過接到另一個澳洲客戶,開花店的,想做個shopping cart (adrianmak 決定用drupal+ubercart )
要求都不太複雜,但仍有幾個問題要請教各位drupal 高手

1. 每種產品( 花) 要顯示三種價錢 , 像這幅圖

請問多種價錢要怎樣implement ?

2. 客戶要求除了paypal 作交易,還可以支援voucher (現金優惠券)
所謂優惠券即買花束時可以用voucherr 支付. 比如顧客經花店買了500 優惠券, 他的帳戶只顯示有500 元voucher (花店職員就在顧客的帳戶輸入500 voucher (即有個field 是voucher 的)
買花束時就可以選擇voucher支付.
Voucher 是不在online 買的所以website 不用處理這部份

請問這兩個功能如何implement?