Расширенная регистрация пользователя в CMS Joomla 2.5

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

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

Привет Всем!

Никак не могу остановиться :smile: и опять продолжу ранее начатую тему по регистрации/авторизации пользователя на сайте. В данном посте расскажу небольшую фишку, которая появилась в новой линейке CMS Joomla 1.7-2.5. А фишка эта состоит во встроенной в сборку Joomla настройке дополнительных полей при регистрации пользователей. Да этой возможности не было в версии Joomla 1.5 и появилась она в виде плагина.

Конечно, так как это плагин, то больших возможностей у него нет, наподобие редактирования или добавления своих полей, а также их видов (выпадающий список, чекбокс и др.). Однако неискушенному пользователю этого плагина будет достаточно.

Хватит вступлений, и переходим в Менеджер плагинов.

Плагин называется Пользователь – Профиль. По умолчанию он не активен.

Его настройки выглядят так:
Плагин Пользователь – Профиль

 

Настройка состоит из двух частей. Первая часть предназначена как раз для регистрации и изменения полей в админке. Вторая для возможности редактирования полей пользователя в своём профиле.

Давайте рассмотрим всё на практике.

Как видим, всего есть 3 статуса полей:

3 статуса полей

Обязательно – поле отображается и оно обязательно для заполнения (если поле не заполнено регистрация не пройдёт);

Не обязательно – поле отображается, но  оно необязательно для заполнения;

Отключено – поле не отображается;

Давайте попробуем сделать так:

Поля  Город и Телефон – обязательно, Адрес 1 – не обязательно, остальные Отключено. Тогда настройки будут следующие:

Поля

Активируем плагин и посмотрим на регистрацию пользователя на сайте.

Активируем плагин

Как видим, появилась наша настройка Профиль пользователя, и обязательные поля обозначились красной звездочкой (Город и Телефон). Давайте нажмём на кнопку Регистрация и посмотрим, что нам скажут:

Обязательные поля

Что и требовалось доказать – все обязательные поля выделились красным цветом и система просит нас их заполнить. Давайте их заполним и посмотрим на наше творчество в админке. Я зарегистрировался как пользователь user.

Идём в  Пользователи – Менеджер пользователей, выбираем пользователя user и его Профиль пользователя (справа):

пользователя user и его Профиль пользователя

А видим наши три поля, как и указали в плагине. Вот собственно и всё по верхним настройкам плагина. Но у нас же есть ещё и настройки для самого пользователя в профиле – это вторая часть настроек плагина, она называется  “Поля профиля пользователя для формы изменения профиля”.

Давайте выставим там тоже свои настройки, например:

Поля  Телефон – обязательно, остальные Отключено. Тогда настройки будут следующие:

поля 2

И давайте зайдём на сайте под нашим логином:

зайдём под нашим логином

А теперь нажмём – Изменить профиль. И тут нас поджидает неприятный сюрприз от разработчиков :-(

неприятный сюрприз от разработчиков

Да как видим, накосячили они и нашего поля Телефон не видать !!! Ошибку разработчики до самой последней версии так и не исправили, значит будем исправлять МЫ !

Для этого заходим  в папку plugins\user\profile\ в файл profile.php

Ищем строку 165 с записью кода :

И после неё вставляем:

Сохраняем файл и идём опять на сайт, в редактирование профиля.

редактирование профиля

И ВУАЛЯ! Телефон появился!

Вот так просто решается проблема. Жалко, что она до сих пор присутствует и разработчики будто не хотят её замечать. Хотя я думаю после очередного обновления настройка наша слетит после замены файла, но будем надеяться, что в новом файле она будет уже исправлена.

Таким образом, пользователь может менять телефон в своём профиле или другие поля в зависимости от наших настроек.

На этом я думаю закончить цепочку статей по авторизации/регистрации пользователей на сайте под управлением CMS Joomla 2.5

Хотя возможно и нет! Если кому-то будет интересно, как всё-таки добавлять ещё и свои поля в регистрацию, то пишите в комментариях, возможно, напишу ещё пост на эту тему, если будет много желающих. Однако этот способ как обычно слетит после обновления Joomla. Так что всё будет зависеть от вашего комментирования!


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

  
  
{lang: 'ru'}

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

32 thoughts on “Расширенная регистрация пользователя в CMS Joomla 2.5

  1. Подскажи почему не видны в профиле юзера необязательные позиции ? И как убрать из профиля выбор редактора по умолчанию или это необходимо ?

    • необязательные позиции будут видны после некоторых манипуляций, я в посте написал как это сделать.
      убрать из профиля выбор редактора по умолчанию можно зайдя в админке Пользователи-Менеджер пользователей-Настройки. Далее вкладка Компонент и опция Параметры сайта для пользователя установить Скрыть.

  2. Спасибо большое получилось :)
    1 раз скорей всего ; в конце не скопировал и строку вставлял на новой строчке . Щас все заработало

    респект

  3. Хотелось бы все же увидеть регистрацию пользователей с возможностью добавлять свои поля.
    Спасибо за статью!

  4. Поддерживаю!
    Очень хочется свои поля в joomla 2.5 :roll:
    Весь инет излазил, советы только до версии 1,5-1,7….для 2,5 не подходят :(
    За статью СПАСИБО!

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

    Подскажите пожалуйста, я уже всю голову сломал, как в редактирование профиля сделать так, что бы пользователь не мог редактировать свою введенную почту при регистрации, логин и имя???
    А то как то не хорошо получается – могут менять всё….

    Копался в profile.php – там есть момент:
    // Unset the username so it does not get overwritten
    unset($data['username']);
    // Unset the sendEmail so it does not get overwritten
    unset($data['sendEmail']);

    НО он не работает…

    Заранее спасибо!!

  6. :wink:
    для joomla 2.5
    1. Чтобы Удалить поля… например «Password» или «e-mail», и соотв. эти поля не будут видны при изменении профиля:
    Необходимо почистить xml файл с данными о нужных нам полях. Открываемфайл:
    /components/com_users/models/forms/profile.xml ивнемкоментим «…password…» или соотв. «…e-mail…»
    2. Чтобы только не редактировать: В этом же файле в нужных полях… например поле username тогда это поле будет только читаться а для редактирования будет не доступно.
    Удачи!

    • Огромное вам спасибо, Сергей за помошь!!

      Понял! Что бы, была возможность только читать, а не редактировать – необходимо в нужных полях выставить параметр readonly=”true”.

      Сергей, последний вопрос если можно – я так понял свои поля создавать нельзя, а можно ли как то путем переименования существующего поля сделать свое. К примеру переименовать поле “телефон” в “ИНН” и сделать его обязательным? Переименовывается это все где?

      Заранее спасибо!!

      • Переименовывается конечно! 8) Это один из файлов руссификатора Joomla. Я не помню точно какой, вспоминать и копаться лень, но общий совет для переименовывания любых имен, полей, диалогов и т.д…все делаем на локальном компе:
        1. Качаете и разархивируете в отдельную папку руссификатор Joomla (желательно той же версии который стоит у Вас на сайте)
        2. Качаете и устанавливаете Total Commander
        3. В Total Commander включаете “поиск” (Alt+F7), в диалоге открывшимся выбираем “где искать” (есно в нашем руссификаторе), поле “искать файлы” – не заполняем, напротив поля “С текстом” ставим галку и в нем пишем собственно какое слово или словосочетание хотите переименовать, ну например…. телефон, затем обязательно ставим галку “UTF-8″ и …вперед!
        4. В найденном файле (файлах) уже ковыряемся и понимаем что менять.

        P.S. Файл может оказаться не один.. например диалог входа в систему слово “логин” нужно менять не один раз т.к. из разных страниц могут подключаться разные файлы руссификатора.
        Удачи!

  7. Подскажите что делать если при регистрации пользователю відается ошибка 42
    Не удалось обновить контакт: COM_CONTACT_ERROR_UNIQUE_ALIAS

    Вы не можете посетить текущую страницу по причине:

    просроченная закладка/избранное
    поисковый механизм, у которого просрочен список для этого сайта
    пропущен адрес
    у вас нет права доступа на эту страницу
    Запрашиваемый ресурс не найден.
    В процессе обработки вашего запроса произошла ошибка.

  8. Еще одна ошибка Не удалось вызвать функцию mail.

    Не удалось зарегистрировать пользователя: Произошла ошибка при отправке письма с регистрационными данными. Администратору сайта было отправлено сообщение о возникшей проблеме.

  9. Подскажите как добавить кнопку в форму авторизации ( Зарегистрироваться)
    что то нет ее совсем, только эти есть(Забыли пароль?)(Забыли логин?) она же ведь должна быть, а её нет? что делать? как исправить проблему?

  10. добрый день! подскажите, пожалуйста, как новые поля регистрации пользователя внести в базу данных? чтобы потом их можно было использовать?

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

    • так эти параметры будут и так храниться в базе. А администратор в админ-панели эти параметры может посмотреть на вкладке Пользователи – Менеджер пользователей. Также если зайти в настройки Менеджер пользователей там есть функция Активация нового пользователя- Самостоятельно или администратором.

  11. Подскажите пожалуйста, а как добавить к поле “Имя” дополнительные обязательные поля “Фамилия” и “Отчество” ?
    Спасибо

  12. Установила модуль регистрации пользователей (справа) http://sila-krasota.com . При клике по ссылке “регистрация” пользователь попадает на пустую страницу http://sila-krasota.com/component/users/?view=registration
    В чем может быть ошибка?
    Может, какие-нибудь модули или плагины надо снести и по-новой вручную переустановить? Подскажите, кто знает.

    • Попробуйте для начала отключить SEF и без него попробовать. Сделать также просто ссылкой в меню Регистрация и тоже посмотреть. ну или напишите мне в Контакты доступы.. погляжу.

  13. Joomla 3.1.5 при включении плагина Пользователь – Профиль и кликнув на сайте ссылку регистрация выдает ошибку /docs/libraries/joomla/form/form.php on line 805

  14. Привет Андрей еще раз, разобрался СПАСИБО, без твоей подсказки я бы еще долго размышлял.
    Оказывается надо включить еще один модуль под название dom.
    Еще раз благодарю!

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

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

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