Ответить Новая тема Новый опрос 
 Активация пользователя - только после проверки мод
vovavovcic
Новичок
Сообщений: 3
Регистрация: 02-08-2012


02-08-2012 16:57
Доброго дня всем!

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


Пробовал в файле Customer.php задать значение "false" для поля "active" но и за этого не происходит запись в базу. (Хотел это сделать для того чтобы при регистрации пользователь был неактивен, таким образом можно получить нужный результат, так как активация пользователя будет возможна только через админку).

Может кто делал такое на престе, посоветуйте куда копать ?

В общем суть вопроса сводится к тому что мне нужно записать нового пользователя со всеми полями что он ввел в форме регистрации но с значением поля "active" в "false" то есть 0.

Буду благодарен за совет !
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


02-08-2012 18:11
controllers/AuthController.php

Код:
$customer->active = 1;


заменить на:
Код:
$customer->active = 0;

 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


02-08-2012 18:42
Также еще хорошо сказать покупателю о выполненной регистрации и после проверки администратором ваша уч. запись будет активирована.



ниже найти:
Код:
Tools::redirect('my-account.php');

и заменить на:
Код:
if ($customer->active == 0)
                                {
                                    self::$smarty->assign('reg_without_auth', 1);
                                }
                                else
                                {
                                    Tools::redirect('my-account.php');
                                }


в начало шаблона authentication.tpl добавить:

Код:
{if $reg_without_auth}
{l s='Thanks'}
{/if}

все остальное убрать через else
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
vovavovcic
Новичок
Сообщений: 3
Регистрация: 02-08-2012


02-08-2012 20:46
Спасибо за ответ.

Уже сам нашел.
А вот за вторую часть отдельное спасибо. Так как это я как раз щас хотел сделать.

Но у меня возникла еще одна просьба.

Собственно в этом и была наверное проблема ... оказалось что шаблон Customer.php выдает ошибку, по этому я не мог сделать данную активацию.

Хотел попросить подсказать в чем может быть проблема в моем Customer.php файле, так как сейчас он выдает ошибку "Ошибка создания учетной записи".

Если заливаю исходный файл что изначально в цмс-ке без каких либо правок все работает нормально.

В смоем файле щас добавлены 6 новых полей, 3 дня назад все работало прекрасно, но другой прогер работал на сайте 2 дня и сегодня я заметил вот эту ошибку. Он исчез, и узнать что он делал не получилось.

Вроде все проверил, и все прописано правильно, правила валидации, длина значений параметров, и.т.д. Но работать не хочет.

Собственно и сам файл :

Вложения Customer.php( Размер файла: 22.59KB )


Буду очень признателен вам !
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
ors
Профессионал
Сообщений: 1885
Регистрация: 09-11-2009


02-08-2012 22:05
Ошибка видимо в запросе добавления. Логируйте запросы insert и смотрите в чем ошибка
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
vovavovcic
Новичок
Сообщений: 3
Регистрация: 02-08-2012


02-08-2012 22:39
Цитата:( ors @ 02-08-2012 23:05 Смотреть сообщение )
Ошибка видимо в запросе добавления. Логируйте запросы insert и смотрите в чем ошибка

Проблема в том что все это дело работало, три дня назад, сейчас. логи ничего не показывают. Тупо срабатывает ошибка.

Добавление полей вроде вроде делается автоматически самой престой.

Я добавил нужные поля в authentication.tpl и соответственно имена полей добавил в Customer, дальше вроде преста все делала для меня. ну и конечно в базе создал нужные поля. Все остальное в админке и на странице редактирования выводится без проблем.

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

Да кодировка Анси. пробовал и УТФ-8 .


Сообщение отредактировано vovavovcic 02-08-2012 23:40 ...
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
webseregas
Новичок
Сообщений: 26
Регистрация: 11-03-2016


31-03-2016 01:50
а в 1.6 как все это сделать?
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Vitaliam87
Новичок
Сообщений: 8
Регистрация: 04-04-2016


13-05-2018 19:35
А у меня обратная ситуация. Сайт достался от партнера, так там было $customer->active = 0; поставил $customer->active = 1; Теперь пользователь автоматом активируется, но на почту приходит только логин, без пароль. Подскажите где искать источник проблемы?


Сообщение отредактировал Vitaliam87 (13-05-2018 20:35)
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


13-05-2018 22:33
Цитата:( Vitaliam87 @ 13-05-2018 20:35 Смотреть сообщение )
А у меня обратная ситуация. ... на почту приходит только логин, без пароль.

К сообщению не приложен снимок или код письма, и соотв. возможно несколько вариантов решения.
1) Если в коде письма отсутствует запись о пароле - добавить ее можно дописав ниже указанный код в шаблон письма:
Код:
Пароль: <strong>{passwd}</strong>

Шаблоны находятся в директории:
/themes/тема/mails/код языка/account.html
или
/mails/код языка/account.html

2) Откройте файл /controllers/AuthController.php и проверьте параметры отправляемые в шаблон:
Код:
if (!Mail::Send((int)self::$cookie->id_lang, 'account', Mail::l('Welcome!', (int)self::$cookie->id_lang), array('{firstname}' => $customer->firstname, '{lastname}' => $customer->lastname, '{email}' => $customer->email, '{passwd}' => Tools::getValue('passwd')), $customer->email, $customer->firstname.' '.$customer->lastname))
    $this->errors[] = Tools::displayError('Cannot send email');
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос