Silverstripe:未定义SwipeStripe成员/客户记录

时间:2016-06-14 23:25:15

标签: php content-management-system silverstripe swipestripe

因此,我将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中,当我更改"注册为成员的验证时,#34;表单字段(该函数被称为' createFields')到Member::currentUserID()它识别我已登录并跳过该部分。只有在将我的订单和客户详细信息保存到客户数据库表时,它才能检索我的电子邮件地址。

1 个答案:

答案 0 :(得分:0)

我知道这是一个老帖子,但我已经使用这个代码/方法一直到SS 3.4。

您需要更新Aram的代码以使用SS 3.x.x

https://www.silverstripe.org/community/forums/e-commerce-modules/show/21390

-helenclarko