Мы находимся тут
Меню сайта
Мы находимся тут
Главная » Статьи » Web Мастеру » Joomla Манулы

ДОБАВЛЯЕМ В ФОРМУ РЕГИСТРАЦИИ ПОЛЕ ДАТА РОЖДЕНИЯ

Периодически на форуме спрашивают, как добавить то или иное поле в форму регистрации пользователей Joomla. И почти всегда их отправляют читать разделы и документацию по компоненту CommunityBuilder — действительно мощному решению для расширения профайлов пользователей Joomla. Однако не всегда это нужно. Иногда требуется всего одно-два поля, а приходится ставить целый компонент. В этой статье я хочу рассказать, как вручную добавить поле в форуму регистрации пользователей.

Перед началом модификаций рекомендую создать резервную копию изменяемых файлов. Если у вас вдруг что-то не получится наличие резервной копии позволит вам откатить изменения и восстановить работоспособность сайта.

Для начала необходимо добавить такое поле в таблицу jos_users, чтобы можно было хранить введенную пользователем информацию. Для этого выполним в phpMyAdmin следующий запрос:

ALTER TABLE `jos_users` ADD `birthDate` DATETIME NOT NULL default '0000-00-00 00:00:00';

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

  1. Открываем файл /includes/joomla.php
  2. Находим в нем строчки:
     var $params = null;
     
     /**
     * @param database A database connector object
     */
     function mosUser( &$database ) {
    и заменяем их на
     var $params = null;
     var $birthDate = null;
     
     /**
     * @param database A database connector object
     */
     function mosUser( &$database ) {
  3. Сохраняем изменения в файле

Первая часть подготовки выполнена, теперь необходимо добавить непосредственно поле на форму, и подправить функцию сохранения нового пользователя.

  1. Открываем файл /components/com_registration/registration.html.php
  2. Находим в нем строчки:
     <input type="text" name="name" size="40" value="" class="inputbox" maxlength="50" />
     </td>
     </tr>
    и вставляем после них код:
     <tr>
     <td>
     Дата рождения
     </td>
     <td>
     <select name="birthDate_d">
     <option value=""></option>
    <?php
     for($i=1; $i<=31; $i++) {
    ?> 
     <option value="">echo str_pad($i, 2, "0", STR_PAD_LEFT); ?></option>
    <?php
     }
    ?> 
     </select>
     <select name="birthDate_m">
     <option value=""></option>
    <?php
     for($i=1; $i<=12; $i++) {
    ?> 
     <option value="">echo str_pad($i, 2, "0", STR_PAD_LEFT); ?></option>
    <?php
     }
    ?> 
     </select>
     <select name="birthDate_y">
     <option value=""></option>
    <?php
     for($i=date("Y"), $n=date("Y")-70; $i>=$n; $i--) {
    ?> 
     <option value="">echo $i; ?></option>
    <?php
     }
    ?> 
     </select>
     </td>
     </tr>
  3. Сохраняем изменения в файле

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

  1. Открываем файл /components/com_registration/registration.php
  2. Находим в нем строчку:
    $row->registerDate = date( 'Y-m-d H:i:s' );
    и вставляем после нее код:
     $birthD = intval( mosGetParam( $_POST, 'birthDate_d', 0 ) );
     $birthM = intval( mosGetParam( $_POST, 'birthDate_m', 0 ) );
     $birthY = intval( mosGetParam( $_POST, 'birthDate_y', 0 ) );
     if ($birthD != 0 && $birthM != 0 & $birthY != 0) {
     $row->birthDate = date( 'Y-m-d H:i:s', mktime (0,0,0,$birthM,$birthD,$birthY) ); 
     }
  3. Сохраняем изменения в файле

Небольшое примечание от yAnTar: для того, чтобы дата рождения пользователя была доступна из глобальной переменной $myнеобходимо сделать еще одну правку:

  1. Открываем файл /includes/joomla.php
  2. Находим в нем строчку:
    $query = "SELECT id, name, email, block, sendEmail, registerDate, lastvisitDate, activation, params"
    и заменяем ее на:
    $query = "SELECT id, name, email, block, sendEmail, registerDate, lastvisitDate, activation, params, birthDate"
  3. Затем чуть ниже находим строчку:
    $user->activation = $my->activation;
    и после нее добавляем:
    $user->birthDate = $my->birthDate;
  4. Сохраняем изменения в файле

Ну вот вроде бы и все, осталось только проверить на деле.

Категория: Joomla Манулы | Добавил: Belfis (25.07.2011)
Просмотров: 1438 | Комментарии: 6 | Теги: поле, рождения, дата, регистрации, форму, ДОБАВЛЯЕМ | Рейтинг: 0.0/0
Похожие материалы:
Всего комментариев: 4
 
02.05.2024
4. Eugenesledo ( )  
http://cialisbrand.ru/


Ответ:
 

 
11.03.2024
3. Maynardfar ( )  
Привет всем!

Бывало ли у вас такое, что приходилось писать дипломную работу в очень ограниченные сроки? Это действительно требует большой ответственности и тяжелого труда, но важно не сдаваться и продолжать активно заниматься учебными процессами, так же, как и я.
Для тех, кто умеет эффективно использовать интернет для поиска и анализа информации, это действительно облегчает процесс согласования и написания дипломной работы. Не нужно тратить время на посещение библиотек или организацию встреч с дипломным руководителем. Здесь представлены надежные данные для заказа и написания дипломных и курсовых работ с гарантией качества и доставкой по всей России. Можете ознакомиться с предложениями по ссылке https://saksx-diploms24.com, это проверенный способ!

купить диплом ссср
купить диплом Гознак
купить диплом университета
купить диплом техникума
купить диплом
купить диплом Вуза
купить диплом бакалавра
купить диплом цена
купить диплом магистра
купить диплом о среднем специальном

Желаю всем отличных оценок!


Ответ:
 

 
08.02.2024
2. IgorGueni ( )  
Здравствуйте!

Иногда необходимо настроить разные устройства и программы, искал в сети что-то стоящее и информационное по данной тематике.
Нужно было настроить спутниковую антенну, универсальный пульт и построить локальную сеть, такие разные задачи!
Нашел интересный проект, а на нем все ответы, подробно и с картинками, это действительно стоит добавить в закладки
https://csyazzle.ru
https://cssapemaster.ru
Если Вы можете подсказать еще похожие проекты, буду рад.
https://www.csyazzle.ru/7-sposobov-podkljuchit-televizor-k-internetu
https://www.csyazzle.ru/podkljuchenie-i-nastrojka-pristavki-rostelekom

Всем хорошего настроения!


Ответ:
 

 
01.02.2024
1. Martinillic ( )  
как правильно сделать приворот как делать приворот.
сильный приворот на парня в домашних условиях . троица приворот , приворот на скрученных церковных свечах.
приворот парня в домашних условиях по фото - <a href="https://gadanienasudbu.ru">https://magiyazhizni.mybb.ru</a> на какую луну делается приворот.
рунные привороты что будет заказчику после снятия приворота самый сильный приворот на мужчину читать в домашних условиях на расстоянии


Ответ:
 





Поделись ссылкой

- Ссылка - BBCode - HTML

Имя *:
Email *:
Код *:
Поиск
Полезное

Ключи для Файлообменников
Авторизация
Случайная статья
Мануал как защитить свою базу MySQL

JOOMLA И SEO: ОПТИМИЗАЦИЯ КЛЮЧЕВЫХ СЛОВ

УЛУЧШАЕМ МЕХАНИЗМ ОЦЕНКИ СТАТЕЙ В JOOMLA

Запускаем два и более сервера на одном компьютере

ДОБАВЛЯЕМ В ФОРМУ РЕГИСТРАЦИИ ПОЛЕ ДАТА РОЖДЕНИЯ

[Мануал] PM при входе в игру

GM команды

СОЗДАНИЕ КНОПКИ ДЛЯ ВИЗУАЛЬНОГО РЕДАКТОРА В JOOMLA 1.5

Строим свой город

Мануал по уменьшению трафика при DDOS-атаке сайта

Случайный фаил
Исходники Maddev Freya

Navicat Premium 9.0.6

[Freya] LZ Geodata Java (version: 1F)

Gm-Shop — магазин всех предметов Lineage 2 Interlude

Gracia Final Euro - официальная сборка

Модуль дле Переписка v.1.0 для DLE

[OFF SERVER] Самая качественная сборка PTS - Interlude

Java сервер Aion-Java rev. 58 + Геодата для Aion 2.1

Исходники Java Сервера Lineage мода Good vs Evil (GVE)

ArcEmu World of Warcraft 3.3.5a.

Инфо


Belfis Project © 2025