Путаница с email и phone в miniShop2
Привет!
Разжуйте немного)
Еще в версии miniShop2 2.4.15 modx.pro/components/16079 было объявлено, что email теперь не обязательное поле при оформлении заказа. Ура, круто!
Но дальше начинается интересное…
Допустим, телефон обязателен, email нет, оформляем заказ… и важно, я не хочу регистрировать пользователей на каждый заказ. Мои покупатели делают по одному заказу в магазине, смысла в личном кабинете нет!
Итак, оформляем заказ, почту не указали… что произойдет? Создастся пользователь с фейковой почтой? Или вот в статье, куда я дал ссылку, написано, что можно все такие заказы привязать к одному пользователю Гость.
А если указали почту?.. Нужно обязательно регистрировать пользователя!!! Так как в заказе нет поля email! Вот поле телефон есть, а почты нет.. почему?
Где логика то? Может я что-то не понимаю. Я всегда выходил из этой ситуации регистрируя пользователей и генерируя им фейковые адреса почты, но это не айс…
Разжуйте немного)
Еще в версии miniShop2 2.4.15 modx.pro/components/16079 было объявлено, что email теперь не обязательное поле при оформлении заказа. Ура, круто!
Но дальше начинается интересное…
Допустим, телефон обязателен, email нет, оформляем заказ… и важно, я не хочу регистрировать пользователей на каждый заказ. Мои покупатели делают по одному заказу в магазине, смысла в личном кабинете нет!
Итак, оформляем заказ, почту не указали… что произойдет? Создастся пользователь с фейковой почтой? Или вот в статье, куда я дал ссылку, написано, что можно все такие заказы привязать к одному пользователю Гость.
А если указали почту?.. Нужно обязательно регистрировать пользователя!!! Так как в заказе нет поля email! Вот поле телефон есть, а почты нет.. почему?
Где логика то? Может я что-то не понимаю. Я всегда выходил из этой ситуации регистрируя пользователей и генерируя им фейковые адреса почты, но это не айс…
Комментарии: 6
Да и вообще, если посмотреть код метода getCustomerId, увидим что:
— если email пустой, то сделаем его в формате «Получатель_заказа@мой сайт.ру». Класс… т.е. первый купивший Алексей зарегистируется на сайте и создаст пользователя с такой почтой, а заказ от второго Алексея внезапно попадет к первому, т.к. почта-то одинаковая…
Ладно, если мы на фронте этого не выводим всего… но в админке то выглядит так, как-будто все эти заказы от одного пользователя!
— если email пустой, то сделаем его в формате «Получатель_заказа@мой сайт.ру». Класс… т.е. первый купивший Алексей зарегистируется на сайте и создаст пользователя с такой почтой, а заказ от второго Алексея внезапно попадет к первому, т.к. почта-то одинаковая…
Ладно, если мы на фронте этого не выводим всего… но в админке то выглядит так, как-будто все эти заказы от одного пользователя!
Согласен, не очень логично, но и не критично.
Ну попадает заказ к одному анониму, ничего страшного, в заказе адрес и номер будет разный. Врятли, менеджеры переходят к пользователю, чтобы посмотреть его контактные данные.
А если это сильно смущает то можно удалять этого же пользователя, если его имя совпадает с почтой
Вешаем плагин на событие: OnUserSave
Конечно, это все костыли, и более правильно будет не создавать пользователя, но дать возможность решать это через системную настройку.
Ну попадает заказ к одному анониму, ничего страшного, в заказе адрес и номер будет разный. Врятли, менеджеры переходят к пользователю, чтобы посмотреть его контактные данные.
А если это сильно смущает то можно удалять этого же пользователя, если его имя совпадает с почтой
Вешаем плагин на событие: OnUserSave
if($mode == 'new' && $user->get('username') == $user->Profile->get('email')) {
$user->remove();
}
Но, только если при регистрации почта не используется как логин.Конечно, это все костыли, и более правильно будет не создавать пользователя, но дать возможность решать это через системную настройку.
Ну да, вот как-то не очень логично, посыл скорее ребятам, кто активно занят с miniShop2 сейчас.
Каждый раз костыли лепить не нравится)))
Ну а если мы удалим пользователя — мы удалим и информацию об оставленной электронной почте.
На мой взгляд было в 10 раз логичнее сохранять и почту и телефон в заказе, а если уже выставлена соответствующая настройка — регистрировать пользователя по этим данным!
Каждый раз костыли лепить не нравится)))
Ну а если мы удалим пользователя — мы удалим и информацию об оставленной электронной почте.
На мой взгляд было в 10 раз логичнее сохранять и почту и телефон в заказе, а если уже выставлена соответствующая настройка — регистрировать пользователя по этим данным!
Ну а если мы удалим пользователя — мы удалим и информацию об оставленной электронной почте.Да, это подходит только если почта вообще не нужна.
Посыл замечен и принят к рассмотрению. Спасибо.
@Наумов Алексей можешь сделать Issue по этой теме в репозитарий minishop2? Вот прям текст отсюда со ссылкой.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.