Форум русской поддержки Joomla!® CMS
03.12.2016, 15:39:05 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Добавление полей в форму регистрации

 (Прочитано 849 раз)
0 Пользователей и 1 Гость смотрят эту тему.
kolka-jan
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 23


« : 30.01.2015, 16:42:46 »

Ситуация следующая. Необходимо добавить поле «Возраст» в форму регистрации. Использую альтернативный модуль авторизации BT-login, но, в принципе, вопрос касается любого модуля авторизации, хоть и встроенного, родного.
Делаю следующие шаги:
1.   После поля USERNAME добавляю поле AGE в свою базу данных в таблицу ХХХ_users, поле текстовое, тип VARCHAR, длина 2.

2.    Добавляю в САЙТ/modules/название_модуля_авторизации/tmpl/default.php новое поле – «Возраст»:

<div class="btl-field">
<div class="btl-label"><?php echo JText::_( 'AGE' ); ?></div>
<div class="btl-input">
<input id="btl-input-age" type="age" name="jform[age]" />
</div>
</div>         
<div class="clear"></div>   
Теперь у меня в форме регистрации появляется это поле для заполнения.

3.   Добавляю в профиль пользователя поле «Возраст» в файл САЙТ/components/com_users/models/forms/registration.xml
      
<field name="age" type="text"
         description="Введите свой возраст"
         filter="string"
         label="Возраст"
         required="true"
         size="30"
      />
Появляется это поле для самого пользователя

4.   Аналогично добавляю в профиль пользователя в админке поле «Возраст» в файл САЙТ/administrator/components/com_users/models/forms/user.xml

      <field name="age" type="text"
         description="Введите Ваш возраст"
         label="Возраст"
         required="true"
         size="30"
      />
Появляется поле возраста в админке при просмотре профиля пользователей

5.   В в САЙТ/libraries/joomla/user/user.php после поля username добавляю поле age:

/**
                * The users age
                * @var    string
                * @since  11.1
                */
               public $age = null;


Все поля прописаны, все есть. НО!
Значение возраста, вводимое при регистрации в форму регистрации – не вносится ни в базу данных (поле AGE), ни видно в админке или профиле пользователя!
Как сделать так, чтобы заполнение в форме регистрации синхронизировалось с БД и полями Возраста в профиле пользователя?
Записан
b2z
Support Team
*****

Репутация: +707/-0
Offline Offline

Пол: Мужской
Сообщений: 7517


Разраблю понемногу


« Ответ #1 : 30.01.2015, 18:02:35 »

Для таких вещей используют профиль, а не таблицу users. На форуме вели обсуждение по добавлению полей в форму регистрации. Не понимаю, при чем тут модули - они не отвечают за регистрацию.
Записан
kolka-jan
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 23


« Ответ #2 : 31.01.2015, 15:30:17 »

Для таких вещей используют профиль, а не таблицу users.
Но данные о пользователях находятся как раз в таблице users. Я что-то не так понимаю?
На форуме вели обсуждение по добавлению полей в форму регистрации. Не понимаю, при чем тут модули - они не отвечают за регистрацию.
Честно искал - не нашел. Буду признателен за подсказку. Joomla 3.3.6
Записан
b2z
Support Team
*****

Репутация: +707/-0
Offline Offline

Пол: Мужской
Сообщений: 7517


Разраблю понемногу


« Ответ #3 : 31.01.2015, 22:05:20 »

Да, хранятся. Но доп. данные хранятся в таблице users_profiles. А то, что Вы правите ядро, не есть хорошо.

http://joomlablog.ru/prijomy-poleznye-tryuki/30-rasshirennye-profili-polzovatelej-v-joomla-17
http://library.logicsistemi.it/en/joomla/general-topics/40-joomla-25-extending-users-data-with-custom-fields
Записан
kolka-jan
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 23


« Ответ #4 : 01.02.2015, 18:55:17 »

Спасибо за ссылки - решение рабочее, хорошо. Однако оно работает с родным модулем авторизации. Не могу разобраться - как заставить его работать с альтернативным модулем авторизации.
Записан
perezxxx
Захожу иногда
**

Репутация: +0/-1
Offline Offline

Сообщений: 12


« Ответ #5 : 13.03.2015, 10:41:29 »

Получилось победить проблему?
У меня такая же
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet