Автор Тема: Prestashop 1.7.4 как показать пароль клиенту в письме при регистрации  (Прочитано 2419 раз)

29 Ноябрь 2019, 06:51:26
  • Новичок
  • *
  • Сообщений: 10
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Помогите, пожалуйста, Prestashop 1.7.4 при регистрации на почту клиента летит письмо с логином и паролем, пароль в виде звездочек *******. Как его расшифровать? Такая же песня при сбросе пароля. Может кто-то сталкивался и знает решение?!
29 Ноябрь 2019, 11:03:54
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 16667
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
В стандртном варианте, пароль в письме не показан, при запросе восставновления приходит ссылка на восстаноавление пароля.
У вас тема какая? Обновляли prestashop с версиии 1.6?
29 Ноябрь 2019, 11:18:39
Ответ #2
  • Новичок
  • *
  • Сообщений: 10
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В стандртном варианте, пароль в письме не показан, при запросе восставновления приходит ссылка на восстаноавление пароля.
У вас тема какая? Обновляли prestashop с версиии 1.6?

1. При регистрации  приходит на почту письмо зарегистрировавшемуся пользователю с логином и паролем - пароль в виде звездочек.
2. При запросе о смене пароля, да - приходит ссылка, когда пользователь переходит по ссылке и вводит новы пароль ему на почту приходит письмо "Здравствуйте, новые данные для входа: логин и пароль", где пароль также звездами.

По поводу обновления с 1.6 сказать ничего не могу. Вроде как presta распакована из квик старта с шаблоном и доработана. кроме глюка с паролями.

Вопрос: как расшифровать звездочки? чтобы пользователю показывался реальный пароль
29 Ноябрь 2019, 18:53:09
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Никакого бага с паролями нет. Так и задумано в prestashop.
Для того чтобы отправляло пароль, нужно переопределить контроллер PasswordController.php добавить переменную для шаблона письма
$mail_params = [
    '{password}' => $password,
И в шаблоне письма добавить эту переменную.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
29 Ноябрь 2019, 20:26:37
Ответ #4
  • Новичок
  • *
  • Сообщений: 10
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Никакого бага с паролями нет. Так и задумано в prestashop.
Для того чтобы отправляло пароль, нужно переопределить контроллер PasswordController.php добавить переменную для шаблона письма
$mail_params = [
    '{password}' => $password,
И в шаблоне письма добавить эту переменную.

Спасибо за совет! Заработало для восстановления пароля, а вот при регистрации теперь летит вместо звездочек - {password}.
Куды копать?
30 Ноябрь 2019, 13:19:01
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Сделать нужно тоже самое только для шаблона регистрации account.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
30 Ноябрь 2019, 14:29:36
Ответ #6
  • Новичок
  • *
  • Сообщений: 10
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Сделать нужно тоже самое только для шаблона регистрации account.

Я в файле PasswordController.php внес изменения, добавил одну строку c паролем. (и все больше не добавлял)
$mail_params = [ '{email}' => $customer->email,
                                '{lastname}' => $customer->lastname,
                                '{firstname}' => $customer->firstname,
                                '{password}' => $password
                            ];

После чего добавил поле {password} в шаблон письма account и password. Так вот письмо с обновленным паролем - заработало. А в письмах регистрации прилетают с прилетает вот это - {password}, вместо пароля. может где-то я что-то упустил? может еще где то нужно внетсти сточку?
30 Ноябрь 2019, 16:10:29
Ответ #7
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
При регистрации /classes/form/CustomerPersister.php метод sendConfirmationMail.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
30 Ноябрь 2019, 20:44:58
Ответ #8
  • Новичок
  • *
  • Сообщений: 10
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
При регистрации /classes/form/CustomerPersister.php метод sendConfirmationMail.

Полез я в /classes/form/CustomerPersister.php добавил в метод sendConfirmationMail
'{firstname}' => $customer->firstname,
'{lastname}' => $customer->lastname,
'{email}' => $customer->email,
'{password}' => $customer->passwd,

В письме прилетел захешированный пароль $2y$10$CT/WEfl2iRwFNidQpnR2Xe.ZdFN/db65uDR2JrDM8fnAwd8YsRzUO  :D
Как сделать его расшифровать?
может я что-то не так сделал?)))


01 Декабрь 2019, 14:23:16
Ответ #9
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
01 Декабрь 2019, 14:59:44
Ответ #10
  • Новичок
  • *
  • Сообщений: 10
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
'{password}' => $clearTextPassword

Делал так, вместо пароля прилетает пустое место.
02 Июнь 2021, 16:59:54
Ответ #11
  • Пользователь
  • **
  • Сообщений: 69
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
При регистрации /classes/form/CustomerPersister.php метод sendConfirmationMail.

Полез я в /classes/form/CustomerPersister.php добавил в метод sendConfirmationMail
'{firstname}' => $customer->firstname,
'{lastname}' => $customer->lastname,
'{email}' => $customer->email,
'{password}' => $customer->passwd,

В письме прилетел захешированный пароль $2y$10$CT/WEfl2iRwFNidQpnR2Xe.ZdFN/db65uDR2JrDM8fnAwd8YsRzUO  :D
Как сделать его расшифровать?
может я что-то не так сделал?)))

Тоже очень хотел бы знать как обойти данную проблему !!!
так же столкнулся с такой же бедой ! у меня версия PS 1.7.6.7

Народ откликнитесь !!
02 Июнь 2021, 17:41:29
Ответ #12
  • Пользователь
  • **
  • Сообщений: 69
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Пробовал это для своей версии PS 1.7.6.7 но к сожалению когда устанавливаешь код {password} в тело письма получаешь просто текст без какого либо пароля ... вот фото https://prnt.sc/13q3aui


/classes/form/CustomerPersister.php

private function sendConfirmationMail(Customer $customer)
    {
        if ($customer->is_guest || !Configuration::get('PS_CUSTOMER_CREATION_EMAIL')) {
            return true;
        }

        return Mail::Send(
            $this->context->language->id,
            'account',
            $this->translator->trans(
                'Welcome!',
                array(),
                'Emails.Subject'
            ),
            array(
                '{firstname}' => $customer->firstname,
                '{lastname}' => $customer->lastname,
                '{email}' => $customer->email,
               '{password}' => $customer->passwd,
                '{password}' => Tools::getValue('password'),
            ),
            $customer->email,
            $customer->password,
            $customer->firstname . ' ' . $customer->lastname


Прошу помощи как быть, очень нужно что бы пароль приходил и в случае регистрации и в случае восстановления ....
02 Июнь 2021, 18:35:50
Ответ #13
  • Ветеран
  • *****
  • Сообщений: 16667
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
'{password}' => $this->getValue('password')так попробуйте, остальные определения переменной password удалите
03 Июнь 2021, 07:48:32
Ответ #14
  • Пользователь
  • **
  • Сообщений: 69
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
'{password}' => $this->getValue('password')так попробуйте, остальные определения переменной password удалите

Спасибо за подсказку но к сожалению эффекта нет ...

    private function sendConfirmationMail(Customer $customer)
    {
        if ($customer->is_guest || !Configuration::get('PS_CUSTOMER_CREATION_EMAIL')) {
            return true;
        }

        return Mail::Send(
            $this->context->language->id,
            'account',
            $this->translator->trans(
                'Welcome!',
                array(),
                'Emails.Subject'
            ),
            array(
                '{firstname}' => $customer->firstname,
                '{lastname}' => $customer->lastname,
                '{email}' => $customer->email,
                '{password}' => $this->getValue('password'),
               

            ),
            $customer->email,
            $customer->firstname . ' ' . $customer->lastname
        );
    }
}

Все по старому ... просто текстом тег в письме ...