IT-К@ФЕ. Welcome! :)
   
Добро пожаловать, Гость
Логин: Пароль: Запомнить меня


Joomla. Добавляем дополнительные поля
(1 чел.) (1) гость
  • Страница:
  • 1

ТЕМА: Joomla. Добавляем дополнительные поля

Joomla. Добавляем дополнительные поля 1 год, 6 мес. назад #325

  • Aleksej
  • Вне сайта
  • Moderator
  • Постов: 1734
  • Репутация: 40
Как добавить дополнительные поля в форму регистрации?

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

Порой удобнее сделать дополнительные поля своими руками.
Итак, добавляем два поля - icq и jabber, одинаково редактируя

/administrator/components/com_users/models/user.xml

и

/administrator/components/com_users/models/registered.xml

следующим образом:

<params>
        <param name="language" type="languages" client="site" default="" label="Front-end Language" description="paramLanguage" />
        <param name="timezone" type="timezones" default="" label="Time Zone" description="Time Zone for this User" />
//Создаваемые поля
        <param name="icq" type="text" label="Аська" size="60" />
        <param name="jabber" type="text" label="Джаббер" size="60" />
</params>


Далее - копируем форму регистрации, скрипт которой находится:

/components/com_user/views/register/tmpl/default.php

в соответствующий каталог нашего шаблона сайта:

/templates/НАШ_ШАБЛОН/html/com_user/register

Предположим, используется по умолчанию стандартный шаблон rhuk_milkyway. Так как в /templates/rhuk_milkyway/html отсутствуют вложенные каталоги /com_user/register - сделаем их вручную, после чего скопируем из /components/com_user/views/register/tmpl/ в /templates/rhuk_milkyway/html/com_user/register файл default.php.

И - отредактируем файл default.php:

...
<tr>
    <td height="40">
        <label id="emailmsg" for="email">
             <?php echo JText::_( 'Email' ); ?>:
        </label>
    </td>
    <td>
        <input type="text" id="email" name="email" size="40" value="<?php echo $this->escape($this->user->get( 'email' ));?>" class="inputbox required validate-email" maxlength="100" /> *
    </td>
</tr>

/////////// НОВЫЕ ПОЛЯ В ФОРМЕ /////////////

<tr>
    <td>
    <label type="text" size="40">Здесь писать свой ICQ</label>
    </td>
    <td>
    <input type="text" name="params[icq]"  maxlength="100" />
    </td>
</tr>
<tr>
    <td>
    <label type="text" size="40">Здесь писать свой JABBER</label>
    </td>
    <td>
    <input type="text" name="params[jabber]"  maxlength="100" />
    </td>
</tr>
...


Как видите - несложно. Подобным образом возможно добавить любое необходимое количество полей в форму авторизации.
Изменено: 1 год, 6 мес. назад от Aleksej.

Re: Joomla. Добавляем дополнительные поля 2 мес., 1 нед. назад #3815

  • RomanA
  • Вне сайта
  • Fresh Boarder
  • Постов: 12
  • Репутация: -1
Спасибо, сделал так, всё получилось. Почти.
Подскажите, пожалуйста, как сделать новые поля обязательными для заполнения?
Пытался ещё сделать по аналогии со строками имевшихся ранее полей формы в файле /html/com_user/register/default.php :

<tr>
	<td width="30%" height="40">
		<label id="countrymsg" for="country">
			<?php echo JText::_( 'Страна' ); ?>:
		</label>
	</td>
  	<td>
  		<input type="text" name="country" id="country" size="40" value="<?php echo $this->escape($this->user->get( 'country' ));?>" class="inputbox required" maxlength="50" /> *
  	</td>
</tr>

, но новые поля остались пустыми в профиле пользователя.
Изменено: 2 мес., 1 нед. назад от Aleksej.

Re: Joomla. Добавляем дополнительные поля 2 мес., 1 нед. назад #3818

  • Aleksej
  • Вне сайта
  • Moderator
  • Постов: 1734
  • Репутация: 40
С какой именно версией Joomla вы экспериментировали?

Re: Joomla. Добавляем дополнительные поля 2 мес. назад #3820

  • RomanA
  • Вне сайта
  • Fresh Boarder
  • Постов: 12
  • Репутация: -1
1.5.22 Rus

Re: Joomla. Добавляем дополнительные поля 2 мес. назад #3822

  • Aleksej
  • Вне сайта
  • Moderator
  • Постов: 1734
  • Репутация: 40
Признаться, не помню.
И нет уже под рукой J1.5, чтобы взглянуть.
Да и что толку? Поддержка J1.5 уже, можно сказать, закончена. А внесенные изменения вам все одно не перетащить на актуальную версию при помощи jUpgrade или иным способом; это все придется делать на новом месте заново.
Старая статья, неактуально.
  • Страница:
  • 1
Время создания страницы: 0.24 секунд