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

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 20 лет 4 месяца
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза

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

Сообщение Палыч »

axel13
Наверное, правильно добавить.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
***Blaze***
phpBB 2.0.7
Сообщения: 583
Стаж: 19 лет 8 месяцев
Откуда: Данков
Благодарил (а): 57 раз
Поблагодарили: 25 раз

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

Сообщение ***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>
Мой сайт http://ublaze.ru/
Erlang
phpBB 2.0.15
Сообщения: 1033
Стаж: 22 года 2 месяца
Откуда: Москва
Благодарил (а): 293 раза
Поблагодарили: 7 раз

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

Сообщение Erlang »

Подскажите дополнение к обязательному Откуда: раскрывающийся список городов.
Часто фигню всякую начинают писать в данном поле...
С уважением,
Сергей
Аватара пользователя
boloto
phpBB 1.4.4
Сообщения: 126
Стаж: 16 лет 11 месяцев
Благодарил (а): 57 раз
Поблагодарили: 10 раз

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

Сообщение boloto »

Вот мод, который я так понимаю, может управлять "обязательностью" полей в профиле.
http://www.phpbb.com/community/viewtopi ... &t=1485095
Demetras
phpBB 1.0.0
Сообщения: 2
Стаж: 16 лет 6 месяцев
Откуда: Москва
Благодарил (а): 1 раз

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

Сообщение Demetras »

Понадобилось сделать обязательным поле "Откуда". Пришлось повозиться, но заработало. Делал на версию 3.0.7. но может заработает и на более старых.
Прошу специалистов оценить на бажность.
з.ы. Я не программист, можно сказать первый раз разбирался в структуре phpBB, поэтому прошу ногами не бить.

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


ucp_register.php (includes\ucp)

#-- FIND --'new_password'      	=> request_var('new_password', '', true),

#-- AFTER ADD --'location'      => request_var('location', '', true),

#-- FIND --'email_confirm'      => strtolower(request_var('email_confirm', '')),

#-- AFTER ADD --'location'      => ucfirst(request_var('location', '',true)),

#-- FIND --'email_confirm' 	=> array('string', false, 6, 60),

#-- AFTER ADD --'location' 	=> array('string', false, 2, 20),

#-- FIND --'user_email'         => $data['email'],

#-- AFTER ADD --'user_from'     => $data['location'],

#-- FIND --'PASSWORD_CONFIRM'   => $data['password_confirm'],

#-- AFTER ADD --'LOCATION'      => $data['location'],

#-- FIND --'L_PASSWORD_EXPLAIN'	=> sprintf($user->lang[$config['pass_complex'] . '_EXPLAIN'], $config['min_pass_chars'], $config['max_pass_chars']),

#-- AFTER ADD --'L_LOCATION_EXPLAIN'	=> sprintf('Length must be between 2 and 20 characters.'), (последний пункт не обязателен, это задел на додел 8))


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}: </b><br/><span class="gensmall">{L_LOCATION_EXPLAIN}</span></td>
   <td class="row2"><input class="post" type="text" name="location" size="25" value="{LOCATION}" /></td>
</tr>


 
Erlang
phpBB 2.0.15
Сообщения: 1033
Стаж: 22 года 2 месяца
Откуда: Москва
Благодарил (а): 293 раза
Поблагодарили: 7 раз

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

Сообщение Erlang »

boloto писал(а):Вот мод
Написано что на 3.0.7 не работает.
С уважением,
Сергей
Lexx
phpBB 1.2.1
Сообщения: 25
Стаж: 15 лет 9 месяцев
Благодарил (а): 5 раз
Поблагодарили: 1 раз

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

Сообщение Lexx »

Доброго времени суток.
Прошу помочь разобраться в следующем:

Описание проблемы: Как сделать так, что бы поле "День рождения" было обязательным при регистрации? И как сделать так, что бы оно не отображалось в профиле пользователя, т.е. пользователь не мог его изменить самостоятельно. В свою очередь важно, чтобы дата рождения отображалась на страницах тем под аватаром пользователя и чтобы дни рождения продолжали отображаться на форуме, в "Днях рождениях".

Произведенные изменения, после которых начались неполадки: - нет
Версия phpBB*: - 3.0.8
Используемые шаблоны: - стандартный
Используемые моды: - list_subforums_in_columns_ver100
Версия PHP: - 5.2.14
Используемая СУБД и её версия: - mySQL 5.1.* x64 / l17
Ссылка на конференцию: - http://lvd.su/phpBB3/index.php (конфа полностью закрыта)
Есть ли у вас тестовый аккаунт**: - да
Использовался ли поиск для решения проблемы: - да. И вот что я нашел:
нашел тему "Мод дней рождений"
в которой описываются два мода
1. Prime Birthdate Require (позволяет сделать обязательным поле дня рождения).
2. Upcoming Birthday list (отображает на главной странице наступающие дни рождения).
но на сколько я понял, второй мод сейчас и так интегрирован в 3.0.8 и не позволяет решить мои проблемы,
а второй мод последний раз обновлялся только в январе 2010 года, для 3.0.6 (версия мода 1.2.5) и я опасаюсь его ставить.
Еще нашел мод Birthdays MOD by Terrafrost, в теме "Дни рождения", но он совсем древний.

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

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

Сообщение Warlock75 »

Внимательно изучаем форум и чиаем FAQ. 95% всех ответов на возможные вопросы там уже есть!

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

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

Сообщение Lexx »

В информации о моде Birthday on Registration, который по первой ссылке, указано, что последнее его обновление было только для phpBB 3.0.4, датированное апрелем 2009 года.

Мой английский оставляет желать лучшего, но на сколько я смог разобраться, по второй ссылке приведен способ выведения/отправления поздравлений. Меня же устраивает просто выведение напоминаний на странице форума (что предусмотрено в стандартных настройках phpBB 3.0.8), главное, что бы оно продолжало работать!

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

И все же интересует работающий вариант для phpBB 3.0.8!

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

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

Сообщение Warlock75 »

Во первых, штатными средствами это не решить.
Во вторых, многие моды нужно ковырять под себя - нет готовых решений.
И втретих - требуемого функционала нет ни в одном моде - ковырять нужно.
Если подождете до выходных - выложу решение (поверьте - оно не сложное), просто некогда сейчас, а на коленке делать не люблю.
Внимательно изучаем форум и чиаем FAQ. 95% всех ответов на возможные вопросы там уже есть!

Правила
Мини FAQ по phpBB 3.1.x/3.2.x/3.3.x
Как устанавливать расширения
Аватара пользователя
Mr. Anderson
phpBB Guru
phpBB Guru
Сообщения: 7522
Стаж: 22 года 6 месяцев
Откуда: СССР
Благодарил (а): 6 раз
Поблагодарили: 154 раза

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

Сообщение Mr. Anderson »

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

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

Сообщение Warlock75 »

Значит так: не изобретаем велосипед.
Устанавливаем этот мод:
http://www.phpbb.com/community/viewtopi ... t=birthday
Потом этот:
http://www.phpbb.com/community/viewtopi ... y#p5622705
А потом найти в шаблонах файл: ucp_profile_profile_info.html
Найти в нем:

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

	<!-- IF S_BIRTHDAYS_ENABLED -->
		<dl>
			<dt><label for="bday_day">{L_BIRTHDAY}:</label><br /><span>{L_BIRTHDAY_EXPLAIN}</span></dt>
			<dd>
				<label for="bday_day">{L_DAY}: <select name="bday_day" id="bday_day" style="width: 4em;">{S_BIRTHDAY_DAY_OPTIONS}</select></label> 
				<label for="bday_month">{L_MONTH}: <select name="bday_month" id="bday_month" style="width: 4em;">{S_BIRTHDAY_MONTH_OPTIONS}</select></label> 
				<label for="bday_year">{L_YEAR}: <select name="bday_year" id="bday_year" style="width: 6em;">{S_BIRTHDAY_YEAR_OPTIONS}</select></label>
			</dd>
		</dl>
	<!-- ENDIF -->
И закомментировать его.
В профайле этого не будет.
Внимательно изучаем форум и чиаем FAQ. 95% всех ответов на возможные вопросы там уже есть!

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

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

Сообщение Lexx »

Warlock75 писал(а):...Еще раз, что нужно конкретно?...
Нужно сделать поле "День рождения" первое - обязательным при регистрации; второе - запретить его редактировать пользователям; третье - сделать его видимым другим пользователям; и последнее, четвертое - что бы после всего этого, информация об именинниках продолжала отображаться, с помощью штатного информатора форума дней рождений.
Warlock75 писал(а):...День рождения обязательное поле - есть в штатном функционале
Показывать где хотите - есть в штатном функционале.
Запрет на смену - там же...
Не совсем так...
Если создавать дополнительное поле, то его как раз можно сделать и обязательным при регистрации, и запретить его править и отображать его в топиках.
Но, поле "День рождения", как и еще несколько полей, например "ICQ", "AIM", "Откуда", "Род занятий" и т.д. уже есть! И к сожалению редактировать такие поля нельзя. Соответственно и добиться желаемого результата штатными средствами не получается.
По моему дела обстоят именно так! Или я чего то не понимаю?

В свою очередь, если создать еще одно поле "День рождения" то это приведет к тому, что их будет просто два и на сколько я понимаю, такое (созданное поле) не будет работать с системой информирования о днях рождениях пользователей.
Аватара пользователя
Warlock75
Former team member
Сообщения: 1429
Стаж: 18 лет 7 месяцев
Откуда: Москва
Благодарил (а): 50 раз
Поблагодарили: 95 раз

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

Сообщение Warlock75 »

Замените свои файлы на эти и очистите кэш. (резервные копии сохранить!)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Внимательно изучаем форум и чиаем FAQ. 95% всех ответов на возможные вопросы там уже есть!

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

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

Сообщение Lexx »

Заменил файлы.
Поле "Дата рождения" появилась в регистрационной форме, но к сожалению может быть изменено пользователем в профиле.
Что посоветуете, что бы решить оставшиеся задачи?
Последний раз редактировалось Lexx 12.12.2010 1:47, всего редактировалось 2 раза.

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