Перейти к содержанию
Alexa

Изменение письма "Ваш аккаунт был активирован"

Рекомендуемые сообщения

Приветствую!

Дано: Определенные покупатели заводятся (и активируются) в админке вручную менеджером. После этого покупателю приходит на мыло письмо "Ваш аккаунт был активирован". Там из нужного - только ссылка на стр. авторизации.

Нужно добавить в это письмо его логин и пароль (как минимум), ФИО (как максимум :) ).

Чтобы после после получения этого письма человек мог зайти в его ЛК.

 

Методом "проб и ошибок" выяснила, что в отличие от стандартного оформления писем покупателю и админу о заказе, Это письмо активации обрабатывается через:

admin/model/sale/customer.php

admin/language/russian/mail/customer.php

 

Пробовала по аналогии с catalog/model/account/customer.php + языковой файл

 

внести/добавить переменные, отвечающие за вывод логина и пароля в admin/model/sale/customer.php

$message .= $this->language->get('text_email-r') . ' ' . $data['email'] . "\n";
$message .= $this->language->get('text_password') . ' ' . $data['password'] . "\n\n";

В соответствующий языковой файл (admin/language/russian/mail/customer.php) тоже само-собой были внесены Доп. данные

$_['text_email-r']         = 'Логин:';
$_['text_password']       = 'Ваш пароль:';

Но, понимая заранее, что что-то здесь не так, получила конечно ошибку (после нажатия кнопки Активация в админке) по этим добавленным строкам:

PHP Notice: Undefined variable: data in /home/p4783/public_html/admin/model/sale/customer.php on line 172
PHP Notice: Undefined variable: data in /home/p4783/public_html/admin/model/sale/customer.php on line 173

PHP Warning: Cannot modify header information - headers already sent by (output started at /admin/index.php:86) in /vqmod/vqcache/vq2-system_engine_controller.php on line 28
PHP Warning: Cannot modify header information - headers already sent by (output started at /admin/index.php:86) in /vqmod/vqcache/vq2-system_engine_controller.php on line 29

 

Это ошибочные строки из vq2-system_engine_controller.php:

header('Status: ' . $status);
header('Location: ' . str_replace(array('&', "\n", "\r"), array('&', '', ''), $url));

Подскажите, плз, каким образом корректно и работоспособно  внести изменения в файлы, отвечающие за текст письма, которое приходит покупателю после активации его аккаунта?

 

Или же может есть вариант- добавить условие (или-я-не-знаю-что) в файл, отвечающий за отправку письма о рег-ции, чтобы оно же приходило, в т.ч. и после активации аккаунта админом?

 

Уфф. ..Заранее, спасибо за направление в нужную сторону :)

Изменено пользователем Alexa

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так, мыло клиента в переменой передать удалось:

в admin/model/sale/customer.php

$message .= $this->language->get('text_approve_email') . ' ' . $customer_info['email'] . "\n";
$message .= $this->language->get('text_approve_password') . ' ' . $customer_info['password'] . "\n\n";

А пароль передается в MD5.

Подскажите, плз, как его в нормальном виде выцепить и передать в переменную?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

пароль не только передается, но и хранится в md5.

opencart не хранит и не знает пароль. что считаю правильным

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, это понятно само-собой:)

Но, вопрос в том, каким корректным образом в данной ситуации можно отправить зарегенному в админке вручную клиенту, его "явки и пароли", а именно логин и пароль для входа ему же (клиенту) на сайт в ЛК?....:(

Я и хотела сделать по образу и подобию, как в случае отправки этих данных при стандартной рег-ции клиента на сайте...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а зачем ему пароль высылать? это не безопасно

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Определенные покупатели заводятся (и активируются) в админке вручную менеджером. После этого покупателю приходит на мыло письмо "Ваш аккаунт был активирован". Там из нужного - только ссылка на стр. авторизации.

Нужно добавить в это письмо его логин и пароль (как минимум), ФИО (как максимум :) ).

Чтобы после после получения этого письма человек мог зайти в его ЛК.

..Я может не тем путем иду и не в ту сторону смотрю..Но, каким тогда образом в данной ситуации оповестить покупателя....?

Уточню - заводятся, к примеру, оптовики. Стандартная форма рег-ции на сайте - только для розницы. Добавление выбора группы покупателей при рег-ции на фронтэнде - не используется (ибо не нужна в такой ситуации). Соответственно,  оптовики - только вручную в админке, с присвоением этой группы...

Изменено пользователем Alexa

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

если стандартными средствами наверно никак..

то письмо которое получает пользователь уходит по кнопке "Подтвердить(Approve)" из админки. в этот момент в базе уже хеш пароля.

как варианты реализации,

- при создании учетки записывать туда пароль в чистом виде, а после отправки письма - хеш.

- высылать пользователю ссылку, перейдя по которой он сможет сам задать пароль

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

- при создании учетки записывать туда пароль в чистом виде, а после отправки письма - хеш.

Не совсем поняла насчет этого - ведь изначально пароль и записывается в чистом виде... (и в админке и в норм. рег. форме на сайте)...?

 

Насчет верификационной ссылки - нашла подобный модуль "verification email" на офф. форуме опенкарта.

Не известно корректно ли будет на ocstore....И, он предназначен, как я понимаю, при стандартной рег-ции, а не при добавлении подьзователя через админку....

 

P.S. нашла подобное обсуждение  вопроса на том же офф. форуме опенкарт, но там или вручную советуют код подделать (что оказалось бесполезным, либо сторонний модуль - создание различных хтмл e-mail, типа "pretty html email" и иже с ними - что тоже абсолютно не нужно..)

Хотелось бы просто понять, ведь мой случай не уникальный :), что наиболее будет правильным при таких условиях, т.е. доработка, модули какие-то используют и т.п..

Изменено пользователем Alexa

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не совсем поняла насчет этого - ведь изначально пароль и записывается в чистом виде... (и в админке и в норм. рег. форме на сайте)...?

пароль вводится в чистом виде, но хранится его хеш.

 

 

Насчет верификационной ссылки - нашла подобный модуль "verification email" на офф. форуме опенкарта.

Не известно корректно ли будет на ocstore....И, он предназначен, как я понимаю, при стандартной рег-ции, а не при добавлении подьзователя через админку....

P.S. нашла подобное обсуждение  вопроса на том же офф. форуме опенкарт, но там или вручную советуют код подделать (что оказалось бесполезным, либо сторонний модуль - создание различных хтмл e-mail, типа "pretty html email" и иже с ними - что тоже абсолютно не нужно..)

Хотелось бы просто понять, ведь мой случай не уникальный  :), что наиболее будет правильным при таких условиях, т.е. доработка, модули какие-то используют и т.п..

 

вашу проблему надо решать допилом кода, не уверен что по дефолту в opencart есть что-то подобное

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.