Как в ICMS2 добавить дополнительные поля в форме регистрации

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО

Дополнительные поля в компонете регистрация.

#1 25 ноября 2015 в 02:40
Возникла проблема, понадобилась добавить несколько полей в форме регистрации.
1) поле типа флаг
2) ссылка на правила
3) Флаг с описанием (30 знаков)
притом что если пользователь не поставил галочки то регистрация не проходит
Спасибо kreator, который подсказал что нужно смотреть файл form_registration.php
Подскажите что нужно дописать (в программировании я .....)
  1. <?php
  2.  
  3. class formAuthRegistration extends cmsForm {
  4.  
  5. public function init() {
  6.  
  7. return array(
  8.  
  9. 'basic' => array(
  10. 'type' => 'fieldset',
  11. 'childs' => array(
  12. new fieldString('email', array(
  13. 'title' => LANG_EMAIL,
  14. 'rules' => array(
  15. array('required'),
  16. array('email'),
  17. array('unique', 'cms_users', 'email')
  18. )
  19. )),
  20. new fieldString('nickname', array(
  21. 'title' => LANG_NICKNAME,
  22. 'rules' => array(
  23. array('required'),
  24. )
  25. )),
  26. new fieldString('password1', array(
  27. 'title' => LANG_NEW_PASS,
  28. 'is_password' => true,
  29. 'rules' => array(
  30. array('required'),
  31. array('min_length', 6)
  32. )
  33. )),
  34. new fieldString('password2', array(
  35. 'title' => LANG_RETYPE_NEW_PASS,
  36. 'is_password' => true,
  37. 'rules' => array(
  38. array('required'),
  39. array('min_length', 6)
  40. )
  41. )),
  42. )
  43. ),
  44.  
  45.  
  46. );
  47.  
  48. }
  49.  
  50. }
  51.  
#2 25 ноября 2015 в 08:27
Если не ошибаюсь, то это можно сделать через админку:
Компоненты -> Профили пользователей -> Поля профилей
Добавляете необходимые поля и в настройках при необходимости ставите галочку "Поле должно быть заполнено"
#3 25 ноября 2015 в 08:53


Если не ошибаюсь, то это можно сделать через админку:
Компоненты -> Профили пользователей -> Поля профилей
Добавляете необходимые поля и в настройках при необходимости ставите галочку "Поле должно быть заполнено"

Val
Этот вариант я знаю.
Но мне нужен вариант вот такой

где " Я согласен с условиями ...." будет ссылка на страницу.
#4 25 ноября 2015 в 10:52
Игорь ФИН, Откройте файл \system\controllers\auth\actions\register.php и в строку 74 перед $user = array(); добавить
  1. $form->addField($fieldset_id, new fieldCheckbox('rules', array(
  2. 'title' => 'Я согласен с условиями <a href="#" target="_blank">лицензии</a>',
  3. 'rules' => array(
  4. array('required')
  5. )
  6. )));
Потом в строку 154 после if (!$errors){ добавить
  1. unset($user['rules']);
Теперь откройте \templates\ШАБЛОН\controllers\auth\registration.tpl.php в строку 61 после toggleGroups(); добавить
  1. $('.buttons .button-submit').attr('disabled', 'disabled').css('background', '#ccc');
  2.  
  3. $('#rules, .f_rules label').on("click", function(){
  4. if($(this).prop("checked")) {
  5. $('.buttons .button-submit').removeAttr('disabled').css('background', '#2980b9');
  6. } else {
  7. $('.buttons .button-submit').attr('disabled', 'disabled').css('background', '#ccc');
  8. }
  9. });
Иллюстрация
#5 25 ноября 2015 в 12:18


Игорь ФИН, Откройте файл \system\controllers\auth\actions\register.php и в строку 74 перед $user = array(); добавить

  1. $form->addField($fieldset_id, new fieldCheckbox('rules', array(
  2. 'title' => 'Я согласен с условиями лицензии',
  3. 'rules' => array(
  4. array('required')
  5. )
  6. )));
Потом в строку 154 после if (!$errors){ добавить
  1. unset($user['rules']);
Теперь откройте \templates\ШАБЛОН\controllers\auth\registration.tpl.php в строку 61 после toggleGroups(); добавить
  1. $('.buttons .button-submit').attr('disabled', 'disabled').css('background', '#ccc');
  2.  
  3. $('#rules, .f_rules label').on("click", function(){
  4. if($(this).prop("checked")) {
  5. $('.buttons .button-submit').removeAttr('disabled').css('background', '#2980b9');
  6. } else {
  7. $('.buttons .button-submit').attr('disabled', 'disabled').css('background', '#ccc');
  8. }
  9. });
Иллюстрация

Evanescence
ок, спасибо сейчас попробую сделать
#6 8 декабря 2015 в 02:29
Всем спасибо все получилось, тема закрыта.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.