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

Передача e-mail на страницу успешного заказа


jeka3342

Recommended Posts

Добрый день. Помогите, пожалуйста, разобраться. Для настройки отзывов гугл мерчант нужно, чтобы на страницу спасибо index.php?route=checkout/success передавался email покупателя, который он заполняет при оформлении заказа. Стандартно это значение у меня не выводится в тексте оформленного заказа. Я по пути /catalog/controller/checkout/success.php пытаюсь создать переменную $data['email'], чтобы была передача в файл /catalog/view/theme/oct_techstore/template/common/success.php этого значения и можно было получить $email. Но вот что нужно поместить в $data['email'] чтобы попал правильно этот email?
Пробую $this->session->data['email'] и $this->session->data['guest']['email'], и др варианты. На странице спасибо index.php?route=checkout/success через echo $email пытаюсь вывести, но всегда ошибка что нет такого значения.
Какой может быть самый просто способ получить этот email на странице спасибо?) Спасибо

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


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

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


49 минут назад, jeka3342 сказал:

Добрый день. Помогите, пожалуйста, разобраться. Для настройки отзывов гугл мерчант нужно, чтобы на страницу спасибо index.php?route=checkout/success передавался email покупателя, который он заполняет при оформлении заказа. Стандартно это значение у меня не выводится в тексте оформленного заказа. Я по пути /catalog/controller/checkout/success.php пытаюсь создать переменную $data['email'], чтобы была передача в файл /catalog/view/theme/oct_techstore/template/common/success.php этого значения и можно было получить $email. Но вот что нужно поместить в $data['email'] чтобы попал правильно этот email?
Пробую $this->session->data['email'] и $this->session->data['guest']['email'], и др варианты. На странице спасибо index.php?route=checkout/success через echo $email пытаюсь вывести, но всегда ошибка что нет такого значения.
Какой может быть самый просто способ получить этот email на странице спасибо?) Спасибо

 

Вот так попробуйте 

 

$data['email'] = $this->customer->getEmail();

но это будет работать только если он авторизован 

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


28 минут назад, oc_dev сказал:

 

Вот так попробуйте 

 


$data['email'] = $this->customer->getEmail();

но это будет работать только если он авторизован 

К сожалению там без авторизации покупки делают.
А вот если тянуть с базы с последней транзакции, так можно?
Или можно как-то на странице оформления заказа в сессию загнать это значение, а на другой странице считать?
Или в крайнем случае в гет запрос index.php?route=checkout/success&[email protected]? Или это вообще извращение?

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


1 час назад, jefferson сказал:

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

А самый просто и рабочий можете подсказать? Или это все платно?

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


2 часа назад, jeka3342 сказал:

Добрый день. Помогите, пожалуйста, разобраться. Для настройки отзывов гугл мерчант нужно, чтобы на страницу спасибо index.php?route=checkout/success передавался email покупателя, который он заполняет при оформлении заказа. Стандартно это значение у меня не выводится в тексте оформленного заказа. Я по пути /catalog/controller/checkout/success.php пытаюсь создать переменную $data['email'], чтобы была передача в файл /catalog/view/theme/oct_techstore/template/common/success.php этого значения и можно было получить $email. Но вот что нужно поместить в $data['email'] чтобы попал правильно этот email?
Пробую $this->session->data['email'] и $this->session->data['guest']['email'], и др варианты. На странице спасибо index.php?route=checkout/success через echo $email пытаюсь вывести, но всегда ошибка что нет такого значения.
Какой может быть самый просто способ получить этот email на странице спасибо?) Спасибо

можете облегчить себе задачу и не тратить время на то что уже давно реализовано здесь 

 

 

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

7 минут назад, OCdevWizard сказал:

можете облегчить себе задачу и не тратить время на то что уже давно реализовано здесь 

 

 

Спасибо, но это не подходит. Мне нужно не выводить почту, а на страницу спасибо добавить скрипт гугла, и туда в одно из полей подставить почту. 
Мне нужно просто на странице спасибо получить одно значение. Сможете помочь?

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


При оформлении заявки поле называется customer - https://c2n.me/4bkf4Si . Как мне его перекинуть на другую страницу?)

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


5 минут назад, jeka3342 сказал:

Спасибо, но это не подходит. Мне нужно не выводить почту, а на страницу спасибо добавить скрипт гугла, и туда в одно из полей подставить почту. 
Мне нужно просто на странице спасибо получить одно значение. Сможете помочь?

в модуле есть поле в которое пишут текст об успешном заказе, вот в этом поле вписывает свой js код в который соответственно вставляете код маску {email}

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

5 минут назад, OCdevWizard сказал:

в модуле есть поле в которое пишут текст об успешном заказе, вот в этом поле вписывает свой js код в который соответственно вставляете код маску {email}

Честно, я бы купил модуль, если бы мне нужен был более широкий функционал. Но здесь просто одно значение нужно. Но Вы помочь с этим мне не сможете?

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


1 час назад, jeka3342 сказал:

К сожалению там без авторизации покупки делают.
А вот если тянуть с базы с последней транзакции, так можно?
Или можно как-то на странице оформления заказа в сессию загнать это значение, а на другой странице считать?
Или в крайнем случае в гет запрос index.php?route=checkout/success&[email protected]? Или это вообще извращение?

 

ну если бесплатно, то вот так

	$q = $this->db->query("SELECT email FROM `" . DB_PREFIX . "order` WHERE order_id = ".(int)$this->session->data['order_id']." LIMIT 1");
	$data['email'] = $q->row['email'];

добавить это нужно вот сюда

image.png.053d7e7ea9827465ce9ffcb127dd0d71.png

Змінено користувачем oc_dev
забыл префикс к таблице
  • +1 1
Надіслати
Поділитися на інших сайтах


2 минуты назад, oc_dev сказал:

 

ну если бесплатно, то вот так


	$q = $this->db->query("SELECT email FROM `order` WHERE order_id = ".(int)$this->session->data['order_id']." LIMIT 1");
	$data['email'] = $q->row['email'];

добавить это нужно вот сюда

image.png.053d7e7ea9827465ce9ffcb127dd0d71.png

 

не стоит забывать что $this->session->data['order_id'] может и не быть когда зайдут на эту страницу checkout/success. Как бы потом не было undefind index.

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

1 минуту назад, OCdevWizard сказал:

 

не стоит забывать что $this->session->data['order_id'] может и не быть когда зайдут на эту страницу checkout/success. Как бы потом не было undefind index.

тут вы правы, чуть ниже код разместить нужно

между 

	if (isset($this->session->data['order_id'])) {

и

$this->cart->clear();

 

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


12 минут назад, oc_dev сказал:

тут вы правы, чуть ниже код разместить нужно

между 


	if (isset($this->session->data['order_id'])) {

и


$this->cart->clear();

 

ну тогда 

$data['email'] =

  нужно объявить предварительно и перед

if (isset($this->session->data['order_id'])) {

хотя бы сделать его пустым, так как может быть потом undefined index email

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

6 минут назад, OCdevWizard сказал:

так как может быть потом undefined index email

да, правильно, конец дня, туплю.

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


@oc_dev и @OCdevWizard, мужики, спасибо вам огромное. Все сделал как сказали, и вот выводится https://c2n.me/4bkiG8o. Также прописал дефолтную почту. В общем как сказали, так и сделал. Спасибо еще раз вам!

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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