Как добавить возможность выбора группы при регистрации?

#1 18 апреля 2014 в 02:18
Чтобы пользователь смог выбирать свою группу при регистрации, кроме группы "Администраторы"
#2 18 апреля 2014 в 02:34
+1
#3 18 апреля 2014 в 02:47
Для версии instantcms 1.10.3
#4 18 апреля 2014 в 03:56
У двоих разработчиков были такие доработки.
Вроде, но не уверен у Дениса Васильевича, но не под 1,10,3.
И еще у кого-то…
#6 18 апреля 2014 в 12:53
scanread, сейчас проверю на 1.10.3 v
#7 18 апреля 2014 в 13:16
проверил, работает

Тестил первую ссылку. Для 1.10.3

Но есть проблема. Если поле не заполнить при регистрации, то оно регистрирует пользователя все равно. Правда страница его недоступна. Ошибку не выдает… =(

UPD:

В общем, пересмотрев фронтенд, понял, что надо изменить строку

  1. if($group_id == 1 || $group_id == 2 ){unset($group_id);
  2. cmsCore::addSessionMessage($_LANG['WRONG_GROUP'], 'error'); $errors = true;}
которая предлагается по ссылке выше на

  1. if(!$group_id) { cmsCore::addSessionMessage($_LANG['WRONG_GROUP'], 'error'); $errors = true; }
почему ставится запрет на регистрацию других групп, если при регистрации их нет для выбора, так и не понял. В этом случае хотя бы ошибка выводится, если поле не заполнено. А так не выводилась, скидывало на страницу, что не верно заполнен логин или пароль.
#8 18 апреля 2014 в 14:31


проверил, работает

Тестил первую ссылку. Для 1.10.3

Но есть проблема. Если поле не заполнить при регистрации, то оно регистрирует пользователя все равно. Правда страница его недоступна. Ошибку не выдает… =(

scanread
А не доступна после регистрации, если не указать группу?

Будем надеяться что кто подскажет как решить эту проблему.
А так эта функция очень актуальна для многих сайтов.
#9 18 апреля 2014 в 14:35

А не доступна после регистрации, если не указать группу?

Stecc
Я сделал, что если не выбрать группу, то выдает ошибку. Чтобы в профиле можно было выбирать, то надо это добавить по идеи еще и в файл com_users_editprofile.tpl — к примеру, для тех, кто регистрировался ранее, когда вы еще не предоставили возможности регистрации с выбором группы. Сейчас посмотрю.

UPD:

Чтобы в профайле можно было выбирать, надо сделать 2 доп. шага:

1. Открыть components/users/frontend.php, и после 232 строки
  1. $profiles['city'] = cmsCore::request('city', 'str');
вставить
  1. $users['group_id'] = cmsCore::request('group_id', 'int');
2. Открыть папка шаблона/components/com_users_editprofile.tpl и на нужной вкладке вставить

  1. <tr>
  2. <td valign="top" class=""><strong>Кто вы:</strong></td>
  3. <td valign="top" class="">
  4. <select name="group_id">
  5. <option value="0">--- Выберите ваш статус ---</option>
  6. <option value="9">Модеры</option>
  7. <option value="1">Пользователи</option>
  8. <option value="7">Редакторы</option>
  9. </select>
  10. <span class="regstar">*</span>
  11. </td>
  12. </tr>
Я вставил на 1 вкладке сразу после
  1. <table width="100%" border="0" cellspacing="0" cellpadding="5">
#10 18 апреля 2014 в 15:08
scanread, огромное спасибо вам.
ушел тестить)

И кстати отдельное спасибо вам за Octopus 1.10.3 :)
#11 18 апреля 2014 в 15:08
scanread, так делать нельзя. При таком подходе только ленивый не откроет исходник и не забьет в value двойку…
#12 18 апреля 2014 в 15:10


scanread, так делать нельзя. При таком подходе только ленивый не откроет исходник и не забьет в value двойку....

Pasha

А разве оно сохранится? если в исходнике забить?
Услышать бы еще мнение разработчиков cms
#13 18 апреля 2014 в 15:16
Pasha, согласен. Подскажите как тогда правильно, с двумя вариантами, чтобы это поле было не объязательным, и наоборот (но с проверкой на группы).

И в профиле тогда, надо на редактирование делать проверку… а то так же можно… Не думал что сохраняются данные с исходника страницы.

А разве оно сохранится? если в исходнике забить?

Stecc
Да…
#14 18 апреля 2014 в 15:17
Подскажите пжл Pasha, если знаете решение.
#15 18 апреля 2014 в 16:13
scanread, не идите на поводу у изначально неправильных и устаревших решений. Для начала дожмите метод request.

p.s. Идентификаторы групп это тоже понятие весьма относительное и при некотором стечении обстоятельств они запросто могут поменяться, в данном случае только на них я бы не сильно рассчитывал…
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.