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

27 Мая 2014, 10:20:35
  • Старожил
  • ****
  • Сообщений: 285
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Здравствуйте!
Подскажите пожалуйста, можно ли реализовать такую возможность...
При регистрации клиента ему автоматически генерируется пароль и отправлялся на E-mail
Может какой модуль уже есть?
Заранее спасибо!
27 Мая 2014, 11:02:04
Ответ #1
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22212
  • Репутация: +17111/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
В prestashop есть такая функция
class ToolsCore
{
        public static function passwdGen($length = 8, $flag = 'ALPHANUMERIC')
{
switch ($flag)
{
case 'NUMERIC':
$str = '0123456789';
break;
case 'NO_NUMERIC':
$str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
break;
default:
$str = 'abcdefghijkmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
break;
}

for ($i = 0, $passwd = ''; $i < $length; $i++)
$passwd .= Tools::substr($str, mt_rand(0, Tools::strlen($str) - 1), 1);
return $passwd;
}

Для автогенерации нужно добавить в AuthController.php:
$pass= Tools::passwdGen(8);
$this->context->smarty->assign('pass', $pass );
перед
$this->setTemplate(_PS_THEME_DIR_.'authentication.tpl');и в шаблоне регистрации authentication.tpl
<input type="password" class="text" name="passwd" id="passwd" value="{$pass}" />
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
27 Мая 2014, 11:56:24
Ответ #2
  • Старожил
  • ****
  • Сообщений: 285
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спасибо огромное!!!
Подскажите, а как передать value="{$pass}"
В шаблон order-opc-new-account.tpl ?
27 Мая 2014, 16:27:31
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 1012
  • Репутация: +2/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Для каждого шаблона свой конроллер. По названию шаблона можно примерно определить какой нужен котроллер.
Для order-opc-new-account.tpl - OrderOpcController.php
27 Мая 2014, 17:29:34
Ответ #4
  • Старожил
  • ****
  • Сообщений: 285
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Да, всё правильно...
в OrderOpcController.php
Указываем
$pass= Tools::passwdGen(8);
$this->context->smarty->assign('pass', $pass );
Перед
$this->setTemplate(_PS_THEME_DIR_.'order-opc.tpl');

Ещё раз спасибо!!