Skynet Опубликовано 29 ноября, 2016 Жалоба Поделиться Опубликовано 29 ноября, 2016 Всё сделал по инструкции, всё работает кроме одного, после отправки заказа через корзину, пользователь автоматически регистрируется, ему на почту приходит два письма, первое письмо с заказом, второе с данными о регистрации: в тексте письма с регистрационными данными отсутствует e-mail.версия simpla 2.0 Логин для входа: Пароль: 02h6BS9KT5 Цитата Ссылка на сообщение Поделиться на другие сайты
Skynet Опубликовано 30 ноября, 2016 Жалоба Поделиться Опубликовано 30 ноября, 2016 допустил ошибку, исправил! спасибо огромное за дополнение Цитата Ссылка на сообщение Поделиться на другие сайты
Skynet Опубликовано 30 ноября, 2016 Жалоба Поделиться Опубликовано 30 ноября, 2016 Ребята, а как можно добавить проверку на скидку в группе, в которой состоит существующий пользователь? заменил строку $user_id = $this->users->add_user(array('email'=>$order->email, 'password'=>$password, 'name'=>$order->name, 'enabled'=>'1', 'last_ip'=>$ip)); на $user_id = $this->users->add_user(array('group_id'=>2, 'email'=>$order->email, 'password'=>$password, 'name'=>$order->name, 'enabled'=>'1', 'last_ip'=>$ip)); Теперь при автоматической регистрации, пользователь будет добавляться в группу со скидкой.Но когда пользователь покупает новый товар, но при этом не логинется под своими данными, заказ присваивается к зарегистрированному пользователю, но скидка на товар не учитывается.Как можно решить данный вопрос? Цитата Ссылка на сообщение Поделиться на другие сайты
fuckmoney Опубликовано 2 марта, 2017 Жалоба Поделиться Опубликовано 2 марта, 2017 Действительно, первый вариант был с моими наработками, поэтому на стандартной версии не работал.Вот рабочий вариант:CartView.php перед строчкой: // Отправляем письмо пользователю $this->notify->email_order_user($order->id); //Определяем ip пользователя if (!empty($_SERVER['HTTP_CLIENT_IP'])) { $ip=$_SERVER['HTTP_CLIENT_IP']; } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ip=$_SERVER['HTTP_X_FORWARDED_FOR']; } else { $ip=$_SERVER['REMOTE_ADDR']; } //Если мы не знаем юзера if(!$this->user) { //Смотрим есть ли такой email в базе $this->db->query('SELECT count(*) as count FROM __users WHERE email=?', $order->email); $user_exists = $this->db->result('count'); if($user_exists) { //Если нашли, то добавляем заказ к найденому пользователю $this->db->query('SELECT * FROM __users WHERE email=?', $order->email); $user_exists_id = $this->db->result('id'); $this->orders->update_order($order->id, array('user_id'=>$user_exists_id)); } else { //Если не нешли, то генерируем пароль, согдаем пользователя, отправляем ему письмо и добавляем заказ к созданому пользователю $chars="qazxswedcvfrtgbnhyujmkiolp1234567890QAZXSWEDCVFRTGBNHYUJMKIOLP"; $max=10; $size=StrLen($chars)-1; $password=null; while($max--) $password.=$chars[rand(0,$size)]; $user_id = $this->users->add_user(array('email'=>$order->email, 'password'=>$password, 'name'=>$order->name, 'enabled'=>'1', 'last_ip'=>$ip)); $this->orders->update_order($order->id, array('user_id'=>$user_id)); $this->notify->email_registration($user_id, $password); $_SESSION['user_id'] = $user_id; } } Добавить в тему шаблон письма о регистрации email_registration.tpl {$subject = "Регистрация на сайте `$settings->site_name`" scope=parent} <html> <body> <p>{$user->name|escape} Вы успешно были зарегистрированы на сайте <a href='http://{$config->root_url}/'>{$settings->site_name}</a>.</p> <p>Ваш логин: <b>{$user->email}</b></p> <p>Ваш пароль: <b>{$password}</b></p> </body> </html> в Notify.php в конце, перед последней скобкой } // Функция отправки письма о регистрации public function email_registration($user_id, $password) { if(!($user = $this->users->get_user(intval($user_id)))) return false; $this->design->assign('password', $password); $this->design->assign('user', $user); // Отправляем письмо $email_template = $this->design->fetch($this->config->root_dir.'design/'.$this->settings->theme.'/html/email_registration.tpl'); $subject = $this->design->get_var('subject'); $this->email($user->email, $subject, $email_template, $this->settings->site_name.' <'.$this->settings->notify_from_email.'>'); } 1. Если клиент указал существующий в базе пользователей email, то заказ привяжется к пользователю с этим email.2. Если указанный email не найдет в нашей базе 2.1. Регистрируем пользователя. 2.2. Отправляем ему письмо с логином и паролем 2.3. Логинимся под новым пользователем Я прошу прощения, тут такое дело, пробовал поставить на Okay и почему-то приходит пустое сообщение. Не подскажите как решить эту проблему? Цитата Ссылка на сообщение Поделиться на другие сайты
snappk Опубликовано 10 декабря, 2018 Жалоба Поделиться Опубликовано 10 декабря, 2018 (изменено) Добрый день, всем! А как сделать проверку не по почте, перед тем как регистрировать пользователя, а допустим еще по телефону проверять?Просто появилась проблема. Все что Вы написали работает , НО.Если пользователь не вводит свою почту, его кидает в группу пользователей, и регистрирует допустим как "Дмитрий" и потом все клиенты, которые сделаю так же заказ, без введения почты, все заказы летят в айди пользователя "Дмитрий". Что нужно сделать что бы правильно работало? Мне достаточно будет и что бы их *не регистрировало-если не введена почта.Ну *либо как то проверять по телефону, если такой телефон у пользователей зарегистрированных есть, то кидать товары к пользователю, если его нет, то регистрировать по номеру телефона.Жду ответа, Всем заранее спасибо! Любой вариант подойдет. Нужна помощь. Всем заранее спасибо! Изменено 10 декабря, 2018 пользователем snappk Цитата Ссылка на сообщение Поделиться на другие сайты
snappk Опубликовано 28 декабря, 2018 Жалоба Поделиться Опубликовано 28 декабря, 2018 Хоть кто то, отзовитесь. Очень надо решение проблемы. Цитата Ссылка на сообщение Поделиться на другие сайты
ArexMan Опубликовано 28 декабря, 2018 Жалоба Поделиться Опубликовано 28 декабря, 2018 Хоть кто то, отзовитесь. Очень надо решение проблемы. отозвался, пишите в личку, за деньги сделаю. Цитата Ссылка на сообщение Поделиться на другие сайты
shooroop Опубликовано 28 декабря, 2018 Жалоба Поделиться Опубликовано 28 декабря, 2018 Хоть кто то, отзовитесь. Очень надо решение проблемы. пишите в лс за спасибо поправлю Цитата Ссылка на сообщение Поделиться на другие сайты
fuckmoney Опубликовано 28 декабря, 2018 Жалоба Поделиться Опубликовано 28 декабря, 2018 А можно как-то выложить в открытый доступ дополнение. А то что-то форум дичает, все уходят в личку. Спасибо скажут многие. Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 28 декабря, 2018 Жалоба Поделиться Опубликовано 28 декабря, 2018 А можно как-то выложить в открытый доступ дополнение. А то что-то форум дичает, все уходят в личку. Спасибо скажут многие.Ну ну! Придут такие как ты, корс, лухури и обосрут с ног до головы, выкладывай потом что-то на этот гнилой форум. Имхо обойдёшься! Цитата Ссылка на сообщение Поделиться на другие сайты
shooroop Опубликовано 28 декабря, 2018 Жалоба Поделиться Опубликовано 28 декабря, 2018 А можно как-то выложить в открытый доступ дополнение. А то что-то форум дичает, все уходят в личку. Спасибо скажут многие. там обычная проверка смотри как сделано RegisterView.php Цитата Ссылка на сообщение Поделиться на другие сайты
Gruzin Опубликовано 28 декабря, 2018 Жалоба Поделиться Опубликовано 28 декабря, 2018 А можно как-то выложить в открытый доступ дополнение. А то что-то форум дичает, все уходят в личку. Спасибо скажут многие. Поддерживаю. Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 28 декабря, 2018 Жалоба Поделиться Опубликовано 28 декабря, 2018 А можно как-то выложить в открытый доступ дополнение. А то что-то форум дичает, все уходят в личку. Спасибо скажут многие. Конкретно такую разработку выкладывать на общее обозрение я бы не стал.1. Сама идея довольно нехорошая - тайком регистрировать покупателя.2. Вдвойне нехорошая - довольно сомнительным способом приписывать заказы ранее зарегистировавшимся покупателям.3. А судя по запросам из #30, у того товарища заказ переделан (стандартно без почты заказ не оформляется) - тут надо явно индивидуально работать... Реализовывать бесплатно такой кривой велосипед - себя не уважать. Цитата Ссылка на сообщение Поделиться на другие сайты
snappk Опубликовано 28 декабря, 2018 Жалоба Поделиться Опубликовано 28 декабря, 2018 Хорошо, если так сложно это реализовать, можно ли дописать, например что бы была проверка, если не введен в данном случае почта, его - клиента не регистрировать. Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 28 декабря, 2018 Жалоба Поделиться Опубликовано 28 декабря, 2018 Конечно, можно. Дописывайте. Примеров масса, в том числе в этой теме... Цитата Ссылка на сообщение Поделиться на другие сайты
AndreyDubeshin Опубликовано 16 апреля, 2019 Жалоба Поделиться Опубликовано 16 апреля, 2019 Отличное решение. Использую. А как бы записать эти данные в основнуюбазу данных и во вторую? Т.е отправить введенные данные исгенерированный пароль на этом же хостинге, но в другую базу. Подскажитеплиз. Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 16 апреля, 2019 Жалоба Поделиться Опубликовано 16 апреля, 2019 Как обычно, в соответствии с правилами доступа ко второй базе.Стандартно в Simpla нет никакой второй базы и соответственно средств для работы с ней. Поэтому все нужное делать самостоятельно своими средствами. Начинать с того, что определиться, какая структура у второй базы, и как Вы хотите туда записывать новые данные. А вообще-то надо лишний раз задуматься, действительно ли Вам все это надо... Цитата Ссылка на сообщение Поделиться на другие сайты
AndreyDubeshin Опубликовано 16 апреля, 2019 Жалоба Поделиться Опубликовано 16 апреля, 2019 Я готов оплатить эту работу. Поможете и в какую сумму? Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 16 апреля, 2019 Жалоба Поделиться Опубликовано 16 апреля, 2019 Отличное решение. Использую. А как бы записать эти данные в основную базу данных и во вторую? Т.е отправить введенные данные и сгенерированный пароль на этом же хостинге, но в другую базу. Подскажите плиз.Другая база или другая таблица? Цитата Ссылка на сообщение Поделиться на другие сайты
AndreyDubeshin Опубликовано 16 апреля, 2019 Жалоба Поделиться Опубликовано 16 апреля, 2019 Другая база. В ней есть таблица. Необходимо чтобы при оформлении товара, как сейчас человек регистрировался автоматически не только на основном сайте, но и в сторонней базе (на том же хостинге). Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.