【发布时间】:2016-06-14 23:25:14
【问题描述】:
所以我将 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() 时,它会识别出我已登录并跳过该字段部分。只有当它将我的订单和客户详细信息保存到客户数据库表时,它才无法检索我的电子邮件地址。
【问题讨论】:
-
您登录的用户,您将他们设置为客户还是会员? SwipeStripe 期待客户用户。如果您仅以会员身份登录,则可能会混淆 SwipeStripe 代码。
-
感谢@3dgoo 的回复,他们已被设置为会员。无论如何让用户既是成员又是具有相同记录的客户?我不想为了使用商店而为我的会员设置 2 个帐户。我已在管理部分将“客户”设置为“成员”组的子组,但我仍然遇到同样的问题。
-
在 SwipeStripe 中,客户是会员,具有额外的字段和功能。会员不是客户。如果您希望用户能够使用商店,请确保将他们设置为客户。
-
谢谢@3dgoo,但我如何将他们设置为客户?
-
一种方法是通过前端通过 SwipeStripe 结帐过程。确保您没有登录,浏览购物车并在结帐时设置一个新的客户用户。
标签: php content-management-system silverstripe swipestripe