Email или телефон + отправка пароля для входа на сайт при заказе в miniShop2
Добра и Здравия, уважаемые!
Пытался, что-то своё допинать, получилась какая-то неработающая херня:
- Мне нужно при оформлении заказа проверять, введён ли email или телефон юзера, и если что-то одно введено (например, телефон), то email генерировать автоматом.
- Также нужно отправлять мыло с данными для входа (логин/пароль), если введён email юзера.
class myOrderHandler extends msOrderHandler {
public function submit($data = array()) {
if(empty($data['email'])) {
$data['email'] = uniqid('user_').'@MYSITE.ru';
}
return parent::submit($data);
}
}
Пытался, что-то своё допинать, получилась какая-то неработающая херня:
class myOrderHandler extends msOrderHandler {
public function validate($key, $value) {
switch ($key) {
case 'phone':
$value = (substr(preg_replace('/[^-+0-9]/iu','',$value),0,15) != '')
? $value
: false;
break;
}
//return $value;
return parent::validate($key, $value);
}
public function submit($data = array()) {
if(empty($data['email'])) {
$data['email'] = uniqid('user_').'@MYSITE.ru';
}
return parent::submit($data);
}
}
Комментарии: 1
На сколько помню, минишоп создает юзера при заказе. Тогда можно создать такой вот плагин.
Не знаю правда обработает ли системное событие мод икс.
Не знаю правда обработает ли системное событие мод икс.
switch ($modx->event->name) {
case 'OnUserSave':
if ($user && $mode == 'new') {
if ($profile = $user->getOne('Profile')) {
$email = $profile->get('....');
//Ну и дальше делаешь что надо
}
}
break;
}
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.