2016-06-14 45 views
2

因此,我將SwipeStripe模塊用作電子商務商店,並且遇到問題會將會員詳細信息記錄爲客戶詳細信息。我會概述這個過程以及迄今爲止我嘗試過的。Silverstripe:SwipeStripe會員/客戶記錄未定義

  • 我目前以我的網站會員身份登錄。
  • 我可以查看並添加產品到我的購物車。
  • 當我到達結賬頁面時,它要求我註冊我的詳細信息(成爲會員)。

我已經經歷了Customer.php和OrderForm.php文件。我發現的是:

Customer::currentUser()不認可我作爲登錄用戶。

當我打印Member::currentUser()它可以看到我是一個登錄,註冊成員,我可以打印該記錄的詳細信息。

Customer::currentUser()是在Customer.php文件如下:

static function currentUser() { 
    $id = Member::currentUserID(); 
    if($id) { 
     return DataObject::get_one("Customer", "\"Member\".\"ID\" = $id"); 
    } 
} 

我在想,如果有人可以幫助我理解了爲什麼Customer::currentUser()是不承認我作爲登錄的用戶?

此外,在OrderForm.php中,當我將「註冊爲成員」表單字段(該函數稱爲「createFields」)的驗證更改爲Member::currentUserID()時,它確認我已登錄並跳過該部分。只有當它將我的訂單和客戶詳細信息保存到客戶數據庫表中時,才能檢索我的電子郵件地址。

+3

您登錄爲用戶的工作,你將它們設置爲一個客戶,或作爲會員? SwipeStripe正在等待客戶用戶。如果您僅以會員身份登錄,則可能會使SwipeStripe代碼混淆。 – 3dgoo

+0

感謝回覆@ 3dgoo他們設置爲成員。無論如何要讓用戶既是會員又是具有相同記錄的客戶?我不想爲了使用商店而必須使用2個帳戶設置我的會員。我已將「客戶」設置爲管理員部分中的「成員」組的「子組」,但我仍遇到同樣的問題。 – Dallby

+1

在SwipeStripe中,客戶是成員,具有額外的字段和功能。會員不是客戶。如果您希望用戶能夠使用該商店,請確保將其設置爲客戶。 – 3dgoo

回答