Jump to content
Sign in to follow this  
Alexa

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

Recommended Posts

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

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

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

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

 

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

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));

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

 

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

 

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

Edited by Alexa

Share this post


Link to post
Share on other sites

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

в 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.

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

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

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

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

Edited by Alexa

Share this post


Link to post
Share on other sites

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

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

 

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

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

 

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

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

Edited by Alexa

Share this post


Link to post
Share on other sites

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

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

 

 

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

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

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

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

 

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.