Добавление дополнительных полей в регистрацию и профиль пользователей для Joomla 2.5

1 звезда2 звезда3 звезда4 звезда5 звезда (6 голос, рейтинг: 4,17 из 5)
Loading ... Loading ...

Хотите оперативно получать новые уроки и статьи блога LAWANS.RU. Просто введите ВАШ e-mail на форме справа >>>

Привет, Всем!

По просьбам читателей блога отвлекусь от редактора JCE и напишу пост про то, как можно самостоятельно добавлять дополнительные поля при регистрации пользователя на сайте.

1) Добавляем название поля в языковой файл.

Давайте определимся, как будет называться поле, которое мы хотим добавить. Я буду добавлять поле “Мобильный телефон” . Теперь откроем русский языковой файл :

/administrator/language/ru-RU/ ru-RU.plg_user_profile.ini

В него вставляем строки вида:

Где XXXXX имя поля латинскими буквами – например, у меня пусть будет MOBPHONE,

YYYYY0название поля по русски.

YYYYY1описание поля по русски.

У меня получилось следующее:

По идее, идентификаторы PLG_USER_PROFILE_FIELD_MOBPHONE_LABEL и  PLG_USER_PROFILE_FIELD_ MOBPHONE_DESC могут быть любыми (главное из латинских символов), я сделал просто по аналогии с другими записями в данном файле для общего стандарта.

Если у вас будет свой идентификатор вместо моего MOBPHONE (и или ещё будет mobphone) необходимо будет везде по коду использовать только его.

2) Добавляем дополнительное поле непосредственно на сайт (фронтальная часть).

Давайте теперь добавим отображение поля на сайте при регистрации пользователя. Для этого заходим в файл

/plugins/user/profile/profiles/profile.xml

И в нем добавляем следующий код перед тегом  </fieldset>:

В итоге, у нас на сайте на странице регистрации пользователя появится новое поле Мобильный телефон

на странице регистрации пользователя новое поле Мобильный телефон

3) Добавляем дополнительное поле в админку.

Для этого в файл

/plugins/user/profile/profile.xml

сначала вставим код

Перед кодом

Потом в конце перед закрывающим тегом </fieldset>

После этих манипуляций в админке (Расширения – Менеджер плагинов плагин Пользователь – Профиль) получим следующее

поле Мобильный телефон в админке

4) Добавляем обработку нового поля.

Визуальную часть сделали, осталось провести обработку данного поля.

Для этого заходим в файл /plugins/user/profile/profile.php и вставляем туда следующий код:

После кода

Также добавим обработку нашего поля в код:

Т.е. в конце добавили:

'mobphone',

В админке, в Менеджере пользователей у конкретного пользователя, а также на сайте в профиле пользователя также увидим данное поле.

ВАЖНОЕ ЗАМЕЧАНИЕ: При последующих обновлениях CMS Joomla файлы, которые изменялись, будут заменены. Все новые поля, которые вы добавите, исчезнут, однако информация, которая была забита в них останется (она хранится в базе данных). Учтите это.

На этом, пожалуй, всё. Удачного Вам программирования друзья! Жду ваших вопросов и комментариев ниже.


У ВАС ведь есть ТЕЛЕФОН? Или mp3-player? А может даже планшет, ноутбук или игровая консоль!
Хочется, чтобы он был необычным и уникальным?
Заходите к нам – мы поможем.

  
  
{lang: 'ru'}

Похожие статьи

21 thoughts on “Добавление дополнительных полей в регистрацию и профиль пользователей для Joomla 2.5

  1. Добрый день!

    У меня вопрос если можно:
    Создал я по вашей инструкции одно дополнительное поле в регистрации – все работает!
    Но когда человек логинится и заходит в меню редактирования своего личного профиля, то в разделе “Профиль пользователя” видит мой созданный пункт (созданное поле) в НЕ ЗАВИСИМОСТИ от того какое ему значение присвоено в админке – “обязательное”, “не обязательное” или “отключено”. Т.е. постоянно отображается и может его редактировать. Подскажите пожалуйста, как заставить работать этот кейс – весь profile.php перерыл.

    Заранее спасибо, Алексей.

    • Да Алексей, код действительно не до конца был исправлен. Я внёс изменения в пост (почти в конце поста.. необходимо было добавить поле в массив) для исправления данного косяка.

  2. Доброго времени суток!!!

    Облазил весь google, не могу найти как добавить поля в регистрацию joomla 2.5 chekbox и select. Одна вразумительная статья о том как добавить . Подскажите, пожалуйста, КАК возможно добавить эти элементы форму? Пусть не динамическим (необходимо список стран выводить в value будет стоять название страны) и checbox.

    Спасибо.

  3. Подскажите а как добавить поля при регистрации что Выше
    К поле “Имя” добавить “Фамилию” и “Отчество” ?
    Заранее благодарен

    • таблицы не создаются. все настройки хранятся там в одном поле одной из таблиц в виде массива.

  4. Спасибо! Добавила по Вашему методу дополнительное поле. В нем должно быть число длиной 17 знаков.
    Зарегистрировалась на сайте как новый пользователь, при регистрации заполнила это доп.поле. Потом авторизовалась, зашла в профиль пользователя и увидела, что это число в доп. поле отображается в таком виде: 1.2345768911223E+16

    Помогите пожалуйста, что нужно сделать, чтобы нормально отображались все цифры числа?

  5. Хорошая статья. Не подскажите, а как организовать проверку (запрет) на ввод кириллицы (чтобы логин могли только на английском писать, а не на еврите или чешском)?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>