Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Решено] Получение e-mail адреса


vlad4298

Recommended Posts

Добрый вечер, заранее спасибо за помощь, кто сможет помочь!

 

Проблема следующая: убрал обязательный ввод почты при заказе. Теперь не приходит уведомление о заказе ко мне на e-mail. Захотел решить задачу следующим образом: при "невписывании" почты, она автоматически будет придумана. Написал банальный код:

<script type="text/javascript">

var no_mail = "[email protected]";

	function empty_mail() {
		if (document.getElementById('input-payment-email').value==''){		
		document.getElementById('input-payment-email').value=no_mail
		} 
	};

</script>

Вставил его в checkout.tpl - не работает. Полагаю, нужно куда-то в другое место код вставлять. Сможете подсказать куда?

Надіслати
Поділитися на інших сайтах


Как раз это я и хотел бы узнать. Написал функцию, а куда её вставлять не знаю.

Я так понимаю, это должно быть реализовано в guest.php. Мой код - javascript. Нужно переписывать или можно как-то вставить?

Надіслати
Поділитися на інших сайтах


Я так понимаю, это должно быть реализовано в guest.php. Мой код - javascript. Нужно переписывать или можно как-то вставить?

Значит это надо написать в том же quest.php и желательно тоже на php

Там где идет обработка POST['email']

Надіслати
Поділитися на інших сайтах

все несколько проще

при нажатии кнопки перехода к следующему шагу произвести проверку на заполнение поля emai перед отправкой данных в контроллер

если поле пустое - подставить в поле нужные данные, например [email protected]

(лучше конечно использовать реально существующий ящик - иначе постоянно от хостера будут падать письма "адресат не существует")

 

копайте файл catalog\view\theme\имя вашей темы\template\checkout\checkout.tpl после строки

$(document).delegate('#button-guest', 'click', function() {

 

добавьте

if !( $('#input-payment-email').val()) {

$('#input-payment-email').val('[email protected]');

}

Змінено користувачем AlexDW
Надіслати
Поділитися на інших сайтах

vlad4298, как вариант:

в /catalog/model/checkout/order.php

1.

public function addOrder($data) {
...
email = '" . $this->db->escape($data['email']) . "'
...
>>

public function addOrder($data) {
...
email = '" . (isset($data['email']) && !empty($data['email'])) ? $this->db->escape($data['email']) : $this->db->escape('[email protected]') . "'
...

2.

public function editOrder($order_id, $data) {
...
email = '" . $this->db->escape($data['email']) . "'
...
>>

public function editOrder($order_id, $data) {
...
email = '" . (isset($data['email']) && !empty($data['email'])) ? $this->db->escape($data['email']) : $this->db->escape('[email protected]') . "'
...
Надіслати
Поділитися на інших сайтах

AlexDW, попробовал ваш вариант. Тоже показался вполне реальным. Но видимо получение

#input-payment-email
происходит не в checkout.tpl, так как при добавлении в код просто напросто все вкладки становятся неактивными. Пробовал прописать тоже самое в guest.tpl - тормозит после нажатия клавиши "продолжить" на первом шаге.
Надіслати
Поділитися на інших сайтах


в логах что?

 
2015-11-04 23:19:17 - PHP Warning:  mysqli::query(): Empty query in data/www/loveyou.ua/system/library/db/mysqli.php on line 18
 
Вот что по этому адресу:
public function query($sql) {
		$query = $this->link->query($sql);

		if (!$this->link->errno) {
			if ($query instanceof \mysqli_result) {
				$data = array();

				while ($row = $query->fetch_assoc()) {
					$data[] = $row;
				}
Змінено користувачем vlad4298
Надіслати
Поділитися на інших сайтах


все несколько проще

...

чуть промахнулся, строку измените на

if (!$('#input-payment-email').val()) {

 

так при оформлении заказа без регистрации (guest) если не заполнить поле email и нажать далее - поле будет заполнено автоматически как [email protected]

Надіслати
Поділитися на інших сайтах

Спасибо большое! Получилось.

Хотя самое он вписывает почту ещё до того, как переходит к следующему шагу. Но это я решил вот так вот:

$('#input-payment-email').css('color','#fff');

Змінено користувачем afwollis
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.