Сделать поля обязательными

У вас есть идея для расширения функциональности phpBB 3.0.x? Расскажите о ней здесь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Warlock75
Former team member
Сообщения: 1429
Стаж: 18 лет 7 месяцев
Откуда: Москва
Благодарил (а): 50 раз
Поблагодарили: 95 раз

Re: Дата рождения - обязательное поле. Как?

Сообщение Warlock75 »

Нет, архив - это чтобы человеку не ковыряться)))
Внимательно изучаем форум и чиаем FAQ. 95% всех ответов на возможные вопросы там уже есть!

Правила
Мини FAQ по phpBB 3.1.x/3.2.x/3.3.x
Как устанавливать расширения
Parafin
phpBB 1.0.0
Сообщения: 8
Стаж: 16 лет 1 месяц
Благодарил (а): 1 раз

Re: Сделать поля обязательными

Сообщение Parafin »

Подскажите пожалуйста, сделал все как описано тут (http://www.phpbbguru.net/community/topi ... ml#p180537), поле при регистрации поле "Откуда" появилось но если его не заполнять то регистрация все равно проходит. Как подправить? Буду благодарен за помощь.
Аватара пользователя
F-XIII
phpBB 1.4.1
Сообщения: 42
Стаж: 20 лет 8 месяцев
Откуда: Ростов-на-Дону
Благодарил (а): 6 раз
Поблагодарили: 1 раз

Дата рождения - обязательное поле. Как?

Сообщение F-XIII »

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

В файле \includes\ucp\ucp_profile.php найти:

Код: Выделить всё

'user_birthday' => array('date', true),
И заменить на:

Код: Выделить всё

'user_birthday' => array('date', false),
Теперь, при отправке формы с любым пустым значением (день, месяц, год) в дате, будет появляться сообщение об ошибке... :)
Silver shiny wings bathed in fire
Godly weapons speak to break the chains of darkness ...
Vinser
phpBB 1.2.0
Сообщения: 10
Стаж: 14 лет 3 месяца
Поблагодарили: 7 раз

Re: Дата рождения - обязательное поле. Как?

Сообщение Vinser »

Warlock75 писал(а):Замените свои файлы на эти и очистите кэш. (резервные копии сохранить!)
Благодарю за уже готовое решение. Как раз решил заняться этим вопросом и не пришлось утруждаться.

Правда хотел бы кое-что уточнить...

В посте Сделать поля обязательными Вы советовали закомментировать строки, касающиеся просмотра и редактирования даты рождения в профиле. Как мне кажется, более корректным было бы запретить редактирование, а просмотр оставить путем добавления disabled="disabled" к селектам.

На примере ucp_profile_profile_info.html для subsilver2 (используется мной) это выглядит, к примеру, так:

Код: Выделить всё

<!-- IF S_BIRTHDAYS_ENABLED -->
	<tr> 
		<td class="row1" width="35%"><b class="genmed">{L_BIRTHDAY}: </b><br /><span class="gensmall">{L_BIRTHDAY_EXPLAIN}</span></td>
		<td class="row2"><span class="genmed">{L_DAY}:</span> <select name="bday_day" disabled="disabled">{S_BIRTHDAY_DAY_OPTIONS}</select> <span class="genmed">{L_MONTH}:</span> <select name="bday_month" disabled="disabled">{S_BIRTHDAY_MONTH_OPTIONS}</select> <span class="genmed">{L_YEAR}:</span> <select name="bday_year" disabled="disabled">{S_BIRTHDAY_YEAR_OPTIONS}</select></td>
	</tr>
<!-- ENDIF -->
<!-- BEGIN profile_fields -->
В результате в профиле отображается дата рождения, но данные не редактируются. Думаю, кому-нибудь пригодится...
Аватара пользователя
Petruxa12
phpBB 2.0.2
Сообщения: 331
Стаж: 15 лет 4 месяца
Откуда: Москва
Благодарил (а): 156 раз
Поблагодарили: 6 раз

Re: Сделать поля обязательными

Сообщение Petruxa12 »

***Blaze*** писал(а):Для поля Откуда я малость изменил код Палыча так, чтобы для данного поля минимум вводилось 2 символа, возможно и скорее всего существуют короткие названия (из 2 символов) городов и населенных пунктов :) а так же добавил после пункта Откуда* - чтобы знали, что поле обязательное для заполнения.

Код: Выделить всё

ucp_register.php (includes\ucp)

#-- FIND --
			'new_password'		=> request_var('new_password', '', true),
#-- AFTER ADD --
            'location'          => request_var('location', '', true),
#-- FIND --
				'email_confirm'		=> array('string', false, 6, 60),
#-- AFTER ADD --
                'location'          => array('string', false, 2, 60),
#-- FIND --
					'user_email'			=> $data['email'],
#-- AFTER ADD --
                    'user_from'             => $data['location'],
#-- FIND --
			'PASSWORD_CONFIRM'	=> $data['password_confirm'],
#-- AFTER ADD --
            'LOCATION'          => $data['location'],
		 

ucp_register.html (prosilver)

#-- FIND --
	<dl>
		<dt><label for="username">{L_USERNAME}:</label><br /><span>{L_USERNAME_EXPLAIN}</span></dt>
		<dd><input type="text" tabindex="1" name="username" id="username" size="25" value="{USERNAME}" class="inputbox autowidth" title="{L_USERNAME}" /></dd>
	</dl>
#-- AFTER ADD --
    <dl>
      <dt><label for="location">{L_LOCATION}<strong><font color="red">*</font></strong>:</label><br /></dt>
      <dd><input type="text" tabindex="4" name="location" id="location" size="25" value="{LOCATION}" class="inputbox autowidth" title="{LOCATION}" /></dd>
    </dl>
   

ucp_register.html (subsilver2)

#-- FIND --
<tr>
   <td class="row1" width="38%"><b class="genmed">{L_USERNAME}: </b><br /><span class="gensmall">{L_USERNAME_EXPLAIN}</span></td>
   <td class="row2"><input class="post" type="text" name="username" size="25" value="{USERNAME}" /></td>
</tr>
#-- AFTER ADD --
<tr>
   <td class="row1"><b class="genmed">{L_LOCATION}<strong><font color="red">*</font></strong>: </b></td>
   <td class="row2"><input class="post" type="text" name="location" size="25" value="{LOCATION}" /></td>
</tr>
Проверил на 3.0.10
работает отлично!
Спасибо
:idea: phpBB 3.2.7 :idea:
Vinser
phpBB 1.2.0
Сообщения: 10
Стаж: 14 лет 3 месяца
Поблагодарили: 7 раз

Re: Сделать поля обязательными

Сообщение Vinser »

В связи с использованием мода "Contry Flag" и сделав поле "Страна" обязательным к заполнению при регистрации, я вообще переименовал название поля "Откуда" в "Город".

В данном случае так будет более корректно. Имхо, естественно.
Аватара пользователя
evrus01
Former team member
Сообщения: 1274
Стаж: 15 лет 6 месяцев
Откуда: Москва
Благодарил (а): 107 раз
Поблагодарили: 234 раза

Re: Сделать поля обязательными

Сообщение evrus01 »

Vinser, бедные сельские жители...
Vinser
phpBB 1.2.0
Сообщения: 10
Стаж: 14 лет 3 месяца
Поблагодарили: 7 раз

Re: Сделать поля обязательными

Сообщение Vinser »

evrus01, действительно, что-то я совсем обделил вниманием сельских жителей...

Начал думать как исправить. :) Были варианты: "Город / н. п.", "Населенный пункт", "Н. п.", "Нас. пункт"...

Остановился все-таки на варианте "Нас. пункт", как наиболее коротком и понятном, имхо, естественно. Правда, не совсем корректном исходя из "общепринятых" сокращений (н. п.).

"Откуда" - не устраивает по причине того, что "звучит" как-то не "по-географически" - так и хочется написать что-то вроде "оттуда", "от верблюда" и т.п. ;)
Jons
phpBB 2.0.4
Сообщения: 418
Стаж: 18 лет
Благодарил (а): 65 раз
Поблагодарили: 2 раза

Re: Сделать поля обязательными

Сообщение Jons »

3.0.11
Subsilver2
Warlock75 писал(а):Значит так: не изобретаем велосипед.
Устанавливаем этот мод:
http://www.phpbb.com/community/viewtopi ... t=birthday
При установке этого мода затык, в файле ucp_register.php нет строки которую нужно найти:

Find

Код: Выделить всё

	'lang'				=> array('match', false, '#^[a-z_\-]{2,}$#i'),
Add after

Код: Выделить всё

'user_birthday'			=> array('date', !$config['allow_birthdays']),
куда ставить-то?
Jons
phpBB 2.0.4
Сообщения: 418
Стаж: 18 лет
Благодарил (а): 65 раз
Поблагодарили: 2 раза

Re: Сделать поля обязательными

Сообщение Jons »

Сразу после:

Код: Выделить всё

 'email_confirm'		=> array('string', false, 6, 60),
				'tz'				=> array('num', false, -14, 14),
				'lang'				=> array('language_iso_name'),
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Сделать поля обязательными

Сообщение Пчелкин »

Jons писал(а):'lang' => array('language_iso_name'),
О! Подготовка к многоязычности...клева...
Вставил правильно...сюда...
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
lesha20
phpBB 1.4.0
Сообщения: 31
Стаж: 14 лет
Благодарил (а): 7 раз
Поблагодарили: 2 раза

Re: Сделать поля обязательными

Сообщение lesha20 »

А как вызвать заново регистрационную форму с новыми обязательными полями у существующих пользователей, у которых эти поля не заполнены.
Т.е. существующий пользователь пытается войти на форум и если у него не были заполнены обязательные поля, то переходим на регистрационную форму с этими обязательными полями. Где и что править?
Аватара пользователя
Pazh
Former team member
Сообщения: 2317
Стаж: 16 лет 10 месяцев
Благодарил (а): 42 раза
Поблагодарили: 506 раз

Re: Сделать поля обязательными

Сообщение Pazh »

lesha20 вот так Profile Fields Control MOD
Помощь в ЛС/email только за WM или ЮMoney
lesha20
phpBB 1.4.0
Сообщения: 31
Стаж: 14 лет
Благодарил (а): 7 раз
Поблагодарили: 2 раза

Re: Сделать поля обязательными

Сообщение lesha20 »

Pazh, спасибо.
Только вот в таблице USERS_TABLE надо установить поле 'user_profile_reminder' = 0 у пользователей, чтобы было перенаправление в профиль с обяз.полями.

Добавлено спустя 8 минут 2 секунды:
Всё нашел где сбрасывается это поле - после изменения настроек полей в Profile fields.
dimavsr
phpBB 2.0.4
Сообщения: 409
Стаж: 16 лет 7 месяцев
Благодарил (а): 33 раза

Re: Сделать поля обязательными

Сообщение dimavsr »

подскажите код "День рождения: Если вы укажете год рождения, ваш возраст будет отображаться на форуме." для выставления в регистрационной форме

Вернуться в «Запросы модов для phpBB 3.0.x»