Регистрация и заполнение профиля.

Вопрос

 
Посетитель
small user social cms
Медаль
Сообщений: 894
Час Всем Добрый! Подскажите как осуществить данную идею!
Зарегистрировавшийся пользователь переходит после регистрации к себе в профиль.
Регистрация и заполнение профиля.
Но так же может спокойно выйти от туда не заполнив необходимые поля.
Как сделать что бы пользователь пока не заполнит обязательные поля не смог перейти на другие страницы.
Регистрация и заполнение профиля.


Это как раз и от спамеров и для тех кто регистрируется через uLogin. Человек ЕСТЬ а кто он и от куда это тоже нужно знать.
Помогите осуществить или опишите подробнее как это можно сделать.

Всем спасибо!
Ростов 161 - Городской портал
Посетитель
small user social cms
МедальПочетный донор проектаАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2551
MegaRostov, надо писать или компонент с хуком, который будет следить за заполненностью профиля.
Но можно немного исправить main.tpl.php вашего шаблона, добавив в самый верх шаблона после

Код PHP:
  1. <?php $core = cmsCore::getInstance(); ?>
добавить

Код PHP:
  1. <?php if (cmsUser::isLogged()){
  2. if (!cmsUser::get('icq') && $this->controller->name != "users"){
  3. cmsUser::addSessionMessage("Заполните поле icq", 'error');
  4. $this->controller->redirectTo('users', cmsUser::get('id'), array('edit'));
  5. }} ?>

В этом коде:

1 строка: проверяем, заполнено ли поле icq. Вторая проверка в этой строке нужна, чтобы не получить бесконечное перенаправление
2 строка: добавляем уведомление о нужном поле
3 строка: перемещаем пользователя на страницу редактирования профиля

Если вы хотите заставить заполнить несколько полей, то код нужно немного модифицировать

Код PHP:
  1. <?php if (cmsUser::isLogged()){
  2. if ((!cmsUser::get('icq')|| !cmsUser::get('phone')) && $this->controller->name != "users"){
  3. cmsUser::addSessionMessage("Заполните поля телефон и icq", 'error');
  4. $this->controller->redirectTo('users', cmsUser::get('id'), array('edit'));
  5. }} ?>
Виджеты, поля и компоненты для instantcms 2 http://www.zau4man.ru/
Реклама
cms
Посетитель
small user social cms
Медаль
Сообщений: 894
Zau4man,
Вах-вах!
Теперь мне нужно все это понять и поправить на те поля которые должны быть обязательными к заполнению.
Так как полей у меня к заполнению около 3-5... Обязательных.
1)День рождения
2)Город
3)Телефон
4)Почта (для тех кто регистрировался через uLogin)
Редактировалось: 1 раз (Последний: 22 марта 2017 в 21:07)
Ростов 161 - Городской портал
Посетитель
small user social cms
МедальПочетный донор проектаАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2551
MegaRostov:
Теперь мне нужно все это понять и поправить на те поля которые должны быть обязательными к заполнению.
Админка - компоненты - профили пользователей - поля профилей

Имена полей тут
Регистрация и заполнение профиля.

Добавлять во вторую строку, не забывая про скобочки

Код PHP:
  1. if ((!cmsUser::get('icq') || !cmsUser::get('phone') || !cmsUser::get('skype') || !cmsUser::get('city')) && $this->controller->name != "users"){
И не делайте на живом сайте. Поставьте тестовый и на нем.
Редактировалось: 1 раз (Последний: 22 марта 2017 в 21:17)
Виджеты, поля и компоненты для instantcms 2 http://www.zau4man.ru/
Посетитель
small user social cms
Медаль
Сообщений: 894
То есть получается немного исправить main.tpl.php
Код PHP:
  1. <?php $core = cmsCore::getInstance(); ?>
И вставлять
Код PHP:
  1. <?php if (cmsUser::isLogged()){
  2. if ((!cmsUser::get('icq')|| !cmsUser::get('phone')) && $this->controller->name != "users"){
  3. cmsUser::addSessionMessage("Заполните поля телефон и icq", 'error');
  4. $this->controller->redirectTo('users', cmsUser::get('id'), array('edit'));
  5. }} ?>
  6.  
Вернее уже добавленные стоки
Код PHP:
  1. if ((!cmsUser::get('icq') || !cmsUser::get('phone') || !cmsUser::get('skype') || !cmsUser::get('city')) && $this->controller->name != "users"){
  2.  
Правильно я Вас понял!?
Ростов 161 - Городской портал
Посетитель
small user social cms
МедальАвторитет форумаПочетный донор проектаКубок зрительских симпатий
Сообщений: 3090
Zau4man, спасибо!
Посетитель
small user social cms
Медаль
Сообщений: 894
Тема интересная! Спасибо ОГРОМНОЕ!
НО в тоже время надоедливая .... Как раз то что нужно.
Ростов 161 - Городской портал
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.