Перейти к контенту
  • 0

Поле "пол" обязательно для заполнения


Вопрос

Уважаемые коллеги!

Скажите, где и как в форуме IPB 2.3.5 настроить регистрацию таким образом, чтобы пол пользователя был обязателен для заполнения при регистрации?

А то юзвери регистрируются все бесполыми ;):D

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0
Админцентр-Пользователи и группы- дополнительные поля. И вперёд.

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

Если я создам дополнительное поле "пол", то в профиле появится 2 поля "пол": основное и дополнительное, причём основное пользователи заполнять не будут, а дополнительное - им придётся. :D

 

Короче, этот вариант не катит ;)

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Sannis, спасибо за ссылку.

Хотя, если честно, для меня, как для человека, не являющегося программистом, было сложно вытаскивать информацию и преобразовывать её в нужное русло... (готового-то варианта нет!) Потратил уйму времени (понимаю, что спец не потратил бы и 10 минут), поэтому решил здесь выложить готовый способ, который у меня получился - вдруг ещё кто-нибудь неглубокознающий захочет воспользоваться!

 

1. Открываем ./sources/action_public/register.php, ищем в функции create_account(!):

//-----------------------------------------
        //CHECK 2: Any errors (duplicate names, etc)?
        //-----------------------------------------
        
        if ( count( $form_errors ) )
        {
            $this->show_reg_form( $form_errors );
            return;
        }

 

Добавляем ПЕРЕД:

////CHECK GENDER FIELD
////IF EMPTY, THEN ERROR
////----------------------------------------


if ( $this->ipsclass->input['pp_gender'] == '')
{
$form_errors['general'][$this->ipsclass->lang['err_gender_field']] = $this->ipsclass->lang['err_gender_field'];
}

 

2. В той же функции в том же файле ищем:

//-----------------------------------------
// Insert: MEMBERS
//-----------------------------------------


$this->ipsclass->DB->force_data_type = array( 'name' => 'string', 'members_display_name' => 'string', 'members_l_username' => 'string', 'members_l_display_name' => 'string' );

 

Заменяем на:

//-----------------------------------------
// Insert: MEMBERS
//-----------------------------------------
//////////+ added pp_gender to "force_data_type" - Fritz's mod (RequriedGender)///////////


$this->ipsclass->DB->force_data_type = array( 'name' => 'string', 'members_display_name' => 'string', 'members_l_username' => 'string', 'members_l_display_name' => 'string', 'pp_gender' => 'string' );

 

 

3. Ищем в той же функции того же файла (ниже)

 //-----------------------------------------
// Insert: MEMBER EXTRA
//-----------------------------------------


$this->ipsclass->DB->do_insert( 'member_extra', array( 'id' => $member_id,
'vdirs' => "in:{$this->ipsclass->lang['account_inbox']}|sent:{$this->ipsclass->lang['account_sent']}",
'interests' => '',
'signature' => '' ) );

 

 Добавляем ПОСЛЕ:

 

////----------------------------------------
////WRITE GENDER DATA INTO THE DATABASE
////TABLE: IBF_PROFILE_PORTAL
////----------------------------------------

//-----------------------------------------
// Insert: GENDER
//-----------------------------------------


$this->ipsclass->DB->do_insert( 'profile_portal', array('pp_member_id' => $member_id,
'pp_gender' => $this->ipsclass->input['pp_gender'] )
);

 

 

4. Редактируем языковые файлы:

./cache/lang_cache/ru (или др.папка вашего языка)/lang_register.php

 

Добавляем в массив следующие данные:

'gender_title'				=> "Пол",
'gender_desc'						=> "Пожалуйста, укажите Ваш пол",
'err_gender_field'				   => "<B><FONT Color='crimson'>ОШИБКА: Вы не указали Ваш пол!</b><br />Вы не сможете зарегистрироваться, пока не укажете свой пол.</font>",
'm_gender_as_none'				=> "Пол не указан",
'm_gender_as_female'		   => "Женский",
'm_gender_as_male'				=> "Мужской",

 

 

 

5. Редактируем шаблоны (в админке):

Ваш стиль - Редактировать HTTP-шаблоны - skin_register - ShowForm:

 

Находим:

<!--{REQUIRED.FIELDS}-->
<!--{SUBS.MANAGER}-->
<!--IBF.MODULES.EXTRA-->
<!--{REG.ANTISPAM}-->

 

Добавляем ПЕРЕД:

 

<!-- GENDER -->
<fieldset class="row3" style="padding:10px">
								<legend title="Указывать пол обязательно"><b>{$this->ipsclass->lang['gender_title']}</b></legend>
									<div class="desc">{$this->ipsclass->lang['gender_desc']}</div>
<select name="pp_gender" class="forminput">
<option value="">{$this->ipsclass->lang['m_gender_as_none']}</option>
<option value="male">{$this->ipsclass->lang['m_gender_as_male']}</option> 
<option value="female">{$this->ipsclass->lang['m_gender_as_female']}</option>
</select>

								</fieldset><br />

 

Да, если вдруг кто-то заметил здесь ошибку или имеет какие-то предложения по усовершенствованию данного микро-мода, пишите!

Изменено пользователем Fritz437
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Спасибо за дополнение, дал в теме ссылку. :D
Ссылка на комментарий
Поделиться на других сайтах

  • 0

а где мне нужно рыть, чтоб убрать такую штуку как "Пол не указан". Ну чтобы уж до кучи искоренить "бесполых" юзеров :D

 

Ну поскольку мне никто не помог, приходится всё делать самому. Если кого это заинтересует, всегда пожалуйста.

 

Копаем шаблоны:

skin_profile(просмотр профиля)/personal_portal_main

 

Находим и удаляем

<div class='popupmenu-item-last'><img src='{$this->ipsclass->vars['img_url']}/folder_profile_portal/gender_mystery.png' alt='' border='0' /> <a href='#' onclick="ips_personal_portal.save_settings( 'gender', { 'pp_gender' : 'mystery' }, ''); return false;">{$this->ipsclass->lang['m_gender_as_none']}</a></div>

Сохраняем изменения. Это мы удалили "Не указан" из просмотра профиля.

 

skin_ucp(личные данные)/personal_panel

 

Находим и удаляем

<option value='mystery'<if="$this->ipsclass->member['pp_gender']==''"> selected='selected'</if>>{$this->ipsclass->lang['panel_gender_u']}</option>

Теперь мы удалили "Не указан" из личных данных.

 

А чтобы вообще забыть про "Бесполых" юзеров, рекомендую установить мод от Fritz437, ему кстати

за мод и идею СПАСИБО!!!

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Добрый вечер

Скажите как добавить поле пол в профиль юзеров при просмотре его? (в раздел информация)

Это про основное поле

там ещё есть такие поля;

Домашняя страница

Дата рождения

Место жительства

Интересы

вот сюда как добавить?

Изменено пользователем isenlek
Ссылка на комментарий
Поделиться на других сайтах

  • 0

ещё не помешает вывести название пола под аватаркой где:

Группа:

Сообщений:

Регистрация:

Пользователь №:

пол <-вот сюда

Изменено пользователем isenlek
Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.