Поэтому я использую модуль 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()
он распознает, что я вошел в систему и пропускает этот раздел. Только когда он сохранит мой заказ и информацию о клиенте в таблице базы данных клиентов, он не сможет восстановить мой адрес электронной почты.
Я знаю, что это старый пост, но я использовал этот код / метод вплоть до SS 3.4.
Вам нужно будет обновить код Арама для работы с SS 3.x.x
https://www.silverstripe.org/community/forums/e-commerce-modules/show/21390
-helenclarko
Других решений пока нет …