| Администратор |
 |
Стаж: 5 месяцев 20 дней Сообщения: 228 Откуда: здешние мы
Стиль сайта: subsilver2
Настоящее имя: Андрей
|
Genders / Пол пользователямод позволяет вывести в профиль пользователя его пол (гендер). можно выбрать один из двух полов (муж.) или (жен.). остальное "разнообразие" не рассматривается. сам мод взял здесь. Скрины вывода получившегося творения в профиле пользователя и в теме: Вложение:
gender_item.png [ 57.47 КБ | Просмотров: 44 ]
gender_item.png
Вложение:
gender_profil.png [ 42.46 КБ | Просмотров: 44 ]
gender_profil.png
Установка: скачать из архива сайтаРаспаковать, содержимое папки root загрузить на сервер вашего сайта (где файл config.php). Редактирование файлов:

Общие правки
Открыть memberlist.phpНайти Код: Выделить всё include($phpbb_root_path . 'includes/functions_display.' . $phpEx);Вставить перед найденным Код: Выделить всё //-- mod : Genders ------------------------------------------------------------ //-- add include($phpbb_root_path . 'includes/functions_genders.' . $phpEx); //-- fin mod : Genders --------------------------------------------------------Найти (показана только часть строки) Вставить в строчку после найденной части Найти Код: Выделить всё 'U_VIEW_PROFILE' => get_username_string('profile', $row['user_id'], $row['username'], $row['user_colour']),Вставить после найденного Код: Выделить всё //-- mod : Genders ------------------------------------------------------------ //-- add 'USER_GENDER' => get_user_gender($row['user_gender']), //-- fin mod : Genders --------------------------------------------------------Найти Код: Выделить всё 'S_JABBER_ENABLED' => ($config['jab_enable']) ? true : false,Вставить после найденного Код: Выделить всё //-- mod : Genders ------------------------------------------------------------ //-- add 'USER_GENDER_IMG' => get_user_gender($data['user_gender']), 'USER_GENDER' => get_user_gender($data['user_gender'], true), //-- fin mod : Genders --------------------------------------------------------Открыть viewtopic.phpНайти Код: Выделить всё include($phpbb_root_path . 'includes/bbcode.' . $phpEx);Вставить перед найденным Код: Выделить всё //-- mod : Genders ------------------------------------------------------------ //-- add include($phpbb_root_path . 'includes/functions_genders.' . $phpEx); //-- fin mod : Genders --------------------------------------------------------Найти Вставить после найденного Код: Выделить всё //-- mod : Genders ------------------------------------------------------------ //-- add 'gender_img' => '', 'gender' => '', //-- fin mod : Genders --------------------------------------------------------Найти Вставить после найденного Код: Выделить всё //-- mod : Genders ------------------------------------------------------------ //-- add 'gender_img' => get_user_gender($row['user_gender']), 'gender' => get_user_gender($row['user_gender'], true), //-- fin mod : Genders --------------------------------------------------------Найти Код: Выделить всё 'POSTER_AGE' => $user_cache[$poster_id]['age'],Вставить после найденного Код: Выделить всё //-- mod : Genders ------------------------------------------------------------ //-- add 'POSTER_GENDER_IMG' => $user_cache[$poster_id]['gender_img'], 'POSTER_GENDER' => $user_cache[$poster_id]['gender'], //-- fin mod : Genders --------------------------------------------------------Открыть adm/style/acp_users_profile.htmlНайти Код: Выделить всё <dd>{L_DAY}: <select id="birthday" name="bday_day">{S_BIRTHDAY_DAY_OPTIONS}</select> {L_MONTH}: <select name="bday_month">{S_BIRTHDAY_MONTH_OPTIONS}</select> {L_YEAR}: <select name="bday_year">{S_BIRTHDAY_YEAR_OPTIONS}</select></dd> </dl>Вставить после найденного Код: Выделить всё <dl> <dt><label for="gender_x">{L_GENDER}:</label><br /><span>{L_GENDER_EXPLAIN}</span></dt> <dd> <input type="radio" name="gender" id="gender_m" value="{GENDER_M}"<!-- IF S_GENDER_M --> checked="checked"<!-- ENDIF --> /> {L_GENDER_M} <input type="radio" name="gender" id="gender_f" value="{GENDER_F}"<!-- IF S_GENDER_F --> checked="checked"<!-- ENDIF --> /> {L_GENDER_F} <input type="radio" name="gender" id="gender_x" value="{GENDER_X}"<!-- IF S_GENDER_X --> checked="checked"<!-- ENDIF --> /> {L_GENDER_X} </dd> </dl>Открыть includes/constants.phpНайти Вставить после найденного Код: Выделить всё //-- mod : Genders ------------------------------------------------------------ //-- add define('GENDER_F', 2); // Ladies first ;) define('GENDER_X', 0); define('GENDER_M', 1); //-- fin mod : Genders --------------------------------------------------------Открыть includes/acp/acp_styles.phpНайти (показана только часть строки) Вставить в эту же строчку после найденного фрагмента Код: Выделить всё , 'icon_gender_x', 'icon_gender_m', 'icon_gender_f'Открыть includes/acp/acp_users.phpНайти Вставить после найденного Код: Выделить всё //-- mod : Genders ------------------------------------------------------------ //-- add 'gender' => request_var('gender', $user_row['user_gender']), //-- fin mod : Genders --------------------------------------------------------Найти Код: Выделить всё 'bday_year' => array('num', true, 1901, gmdate('Y', time())),Вставить после найденного Код: Выделить всё //-- mod : Genders ------------------------------------------------------------ //-- add 'gender' => array('num', true, 0, 2), //-- fin mod : Genders --------------------------------------------------------Найти Код: Выделить всё 'user_birthday' => $data['user_birthday'],Вставить после найденного Код: Выделить всё //-- mod : Genders ------------------------------------------------------------ //-- add 'user_gender' => $data['gender'], //-- fin mod : Genders --------------------------------------------------------Найти Код: Выделить всё 'S_BIRTHDAY_DAY_OPTIONS' => $s_birthday_day_options,Вставить перед найденным Код: Выделить всё //-- mod : Genders ------------------------------------------------------------ //-- add 'GENDER_X' => GENDER_X, 'GENDER_M' => GENDER_M, 'GENDER_F' => GENDER_F,
'S_GENDER_X' => ($data['gender'] == GENDER_X) ? true : false, 'S_GENDER_M' => ($data['gender'] == GENDER_M) ? true : false, 'S_GENDER_F' => ($data['gender'] == GENDER_F) ? true : false, //-- fin mod : Genders --------------------------------------------------------Открыть includes/ucp/ucp_profile.phpНайти Код: Выделить всё 'interests' => utf8_normalize_nfc(request_var('interests', $user->data['user_interests'], true)),Вставить после найденного Код: Выделить всё //-- mod : Genders ------------------------------------------------------------ //-- add 'gender' => request_var('gender', $user->data['user_gender']), //-- fin mod : Genders --------------------------------------------------------Найти Код: Выделить всё 'interests' => array('string', true, 2, 500),Вставить после найденного Код: Выделить всё //-- mod : Genders ------------------------------------------------------------ //-- add 'gender' => array('num', true, 0, 2), //-- fin mod : Genders --------------------------------------------------------Найти Вставить после найденного Код: Выделить всё //-- mod : Genders ------------------------------------------------------------ //-- add 'user_gender' => $data['gender'], //-- fin mod : Genders --------------------------------------------------------Найти Вставить после найденного Код: Выделить всё //-- mod : Genders ------------------------------------------------------------ //-- add 'GENDER_X' => GENDER_X, 'GENDER_M' => GENDER_M, 'GENDER_F' => GENDER_F,
'S_GENDER_X' => ($data['gender'] == GENDER_X) ? true : false, 'S_GENDER_M' => ($data['gender'] == GENDER_M) ? true : false, 'S_GENDER_F' => ($data['gender'] == GENDER_F) ? true : false, //-- fin mod : Genders --------------------------------------------------------

языковые правки en
Открыть language/en/common.phpНайти Вставить перед найденным Код: Выделить всё //-- mod : Genders ------------------------------------------------------------ //-- add $lang = array_merge($lang, array( 'GENDER' => 'Gender', 'GENDER_EXPLAIN' => 'Please enter your gender here.', 'GENDER_X' => 'None specified', 'GENDER_M' => 'Male', 'GENDER_F' => 'Female', )); //-- fin mod : Genders --------------------------------------------------------Открыть language/en/acp/styles.phpНайти Вставить перед найденным Код: Выделить всё //-- mod : Genders ------------------------------------------------------------ //-- add $lang = array_merge($lang, array( 'IMG_ICON_GENDER_X' => 'Gender: None specified', 'IMG_ICON_GENDER_M' => 'Gender: Male', 'IMG_ICON_GENDER_F' => 'Gender: Female', )); //-- fin mod : Genders --------------------------------------------------------

языковые правки ru
Открыть language/ru/common.phpНайти Вставить перед найденным Код: Выделить всё //-- mod : Genders ------------------------------------------------------------ //-- add $lang = array_merge($lang, array( 'GENDER' => 'Пол', 'GENDER_EXPLAIN' => 'Пожалуйста, укажите ваш пол', 'GENDER_X' => 'Не указано', 'GENDER_M' => 'Мужчина', 'GENDER_F' => 'Женщина', )); //-- fin mod : Genders --------------------------------------------------------Открыть language/ru/acp/styles.phpНайти Вставить перед найденным Код: Выделить всё //-- mod : Genders ------------------------------------------------------------ //-- add $lang = array_merge($lang, array( 'IMG_ICON_GENDER_X' => 'Пол: не указано', 'IMG_ICON_GENDER_M' => 'Пол: мужчина', 'IMG_ICON_GENDER_F' => 'Пол: женщина', )); //-- fin mod : Genders --------------------------------------------------------

для стилей на основе prosilver
Открыть styles/prosilver/imageset/imageset.cfgНайти Код: Выделить всё img_icon_user_warn = icon_user_warn.gif*20*20Вставить после найденного Код: Выделить всё img_icon_gender_x = icon_gender_x.gif img_icon_gender_m = icon_gender_m.gif img_icon_gender_f = icon_gender_f.gifОткрыть styles/prosilver/template/memberlist_body.htmlНайти (показана только часть строки) Вставить в эту же строку после найденного Открыть styles/prosilver/template/memberlist_leaders.htmlНайти (показана только часть строки) Вставить после найденного фрагмента в эту же строку Найти (показана только часть строки) Вставить после найденного фрагмента в эту же строку Открыть styles/prosilver/template/memberlist_view.htmlНайти Код: Выделить всё <!-- IF LOCATION --><dt>{L_LOCATION}:</dt> <dd>{LOCATION}</dd><!-- ENDIF -->Вставить перед найденным Код: Выделить всё <!-- IF USER_GENDER --><dt>{L_GENDER}:</dt> <dd>{USER_GENDER_IMG}</dd><!-- ENDIF -->Открыть styles/prosilver/template/ucp_profile_profile_info.htmlНайти Код: Выделить всё <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 -->Вставить после найденного Код: Выделить всё <dl> <dt><label for="gender_x">{L_GENDER}:</label><br /><span>{L_GENDER_EXPLAIN}</span></dt> <dd> <label for="gender_m"><input type="radio" name="gender" id="gender_m" value="{GENDER_M}"<!-- IF S_GENDER_M --> checked="checked"<!-- ENDIF --> /> {L_GENDER_M}</label> <label for="gender_f"><input type="radio" name="gender" id="gender_f" value="{GENDER_F}"<!-- IF S_GENDER_F --> checked="checked"<!-- ENDIF --> /> {L_GENDER_F}</label> <label for="gender_x"><input type="radio" name="gender" id="gender_x" value="{GENDER_X}"<!-- IF S_GENDER_X --> checked="checked"<!-- ENDIF --> /> {L_GENDER_X}</label> </dd> </dl>Открыть styles/prosilver/template/viewtopic_body.htmlНайти Код: Выделить всё <!-- IF postrow.POSTER_FROM --><dd><strong>{L_LOCATION}:</strong> {postrow.POSTER_FROM}</dd><!-- ENDIF -->Вставить после найденного Код: Выделить всё <!-- IF postrow.POSTER_GENDER --><dd><strong>{L_GENDER}:</strong> {postrow.POSTER_GENDER_IMG}</dd><!-- ENDIF -->

для стилей на основе subsilver2
Открыть styles/subsilver2/imageset/imageset.cfgНайти Код: Выделить всё img_icon_topic_unapproved = icon_topic_unapproved.gif*18*19Вставить после найденного Код: Выделить всё img_icon_gender_x = icon_gender_x.gif img_icon_gender_m = icon_gender_m.gif img_icon_gender_f = icon_gender_f.gifОткрыть styles/subsilver2/template/memberlist_body.htmlНайти (показана только часть строки) Вставить в эту же строку после найденного Открыть styles/subsilver2/template/memberlist_leaders.htmlНайти (показана только часть строки) Вставить в эту же строку после найденного Найти (показана только часть строки) Вставить в эту же строку после найденного Открыть styles/subsilver2/template/memberlist_view.htmlНайти Код: Выделить всё <td><!-- IF INTERESTS --><b class="genmed">{INTERESTS}</b><!-- ENDIF --></td> </tr>Вставить после найденного Код: Выделить всё <tr> <td class="gen" align="{S_CONTENT_FLOW_END}" nowrap="nowrap">{L_GENDER}: </td> <td><b class="genmed">{USER_GENDER_IMG}</b></td> </tr>Открыть styles/subsilver2/template/ucp_profile_profile_info.htmlНайти Код: Выделить всё <td class="row2"><span class="genmed">{L_DAY}:</span> <select name="bday_day">{S_BIRTHDAY_DAY_OPTIONS}</select> <span class="genmed">{L_MONTH}:</span> <select name="bday_month">{S_BIRTHDAY_MONTH_OPTIONS}</select> <span class="genmed">{L_YEAR}:</span> <select name="bday_year">{S_BIRTHDAY_YEAR_OPTIONS}</select></td> </tr> <!-- ENDIF -->Вставить после найденного Код: Выделить всё <tr> <td class="row1" width="35%"><b class="genmed"><label for="gender_x">{L_GENDER}:</label> </b><br /><span class="gensmall">{L_GENDER_EXPLAIN}</span></td> <td class="row2"> <label for="gender_m"><input type="radio" name="gender" id="gender_m" value="{GENDER_M}"<!-- IF S_GENDER_M --> checked="checked"<!-- ENDIF --> /> {L_GENDER_M}</label> <label for="gender_f"><input type="radio" name="gender" id="gender_f" value="{GENDER_F}"<!-- IF S_GENDER_F --> checked="checked"<!-- ENDIF --> /> {L_GENDER_F}</label> <label for="gender_x"><input type="radio" name="gender" id="gender_x" value="{GENDER_X}"<!-- IF S_GENDER_X --> checked="checked"<!-- ENDIF --> /> {L_GENDER_X}</label> </td> </tr>Открыть styles/subsilver2/template/viewtopic_body.htmlНайти Код: Выделить всё <!-- IF postrow.POSTER_FROM --><br /><b>{L_LOCATION}:</b> {postrow.POSTER_FROM}<!-- ENDIF -->Вставить после найденного Код: Выделить всё <!-- IF postrow.POSTER_GENDER --><br /><b>{L_GENDER}:</b> {postrow.POSTER_GENDER_IMG}<!-- ENDIF -->
Для завершения установки запустите файл genders_mod_install.phpчерез ваш браузер по адресу После этого очистите кэши шаблонов, тем и рисунков и можете, в личном разделе, выбрать то, что вам необходимо. Доработка по созданию поля выбора пола при регистрации на сайте. предложена пользователем Dmitry (Дмитрий):

доработка
Выглядеть будет так: Вложение: Вложение gender_registr.png больше недоступно данное поле получается обязательным при регистрации и без его заполнения регистрацию не пройти. Правка (выберите себе правки по стилю и языку): Открыть includes/ucp/ucp_register.phpНайти Код: Выделить всё 'tz' => request_var('tz', (float) $config['board_timezone']),Вставить после найденного Код: Выделить всё //-- mod : BB Genders Plus ------------------------------------------------------------ 'gender' => request_var('gender', $user->data['user_gender']), //-- end mod : Genders --------------------------------------------------------Найти Код: Выделить всё 'tz' => request_var('tz', (float) $timezone),Вставить после найденного Код: Выделить всё //-- mod : BB Genders Plus ------------------------------------------------------------ 'gender' => request_var('gender', $user->data['user_gender']), //-- end mod : Genders -------------------------------------------------------Найти Вставить после найденного Код: Выделить всё //-- mod : BB Genders Plus ------------------------------------------------------------ 'gender' => array('num', false, 1, 2), //-- end mod : Genders -------------------------------------------------------Найти Код: Выделить всё 'user_inactive_time' => $user_inactive_time,Вставить после найденного Код: Выделить всё //-- mod : BB Genders Plus ------------------------------------------------------------ 'user_gender' => $data['gender'], //-- end mod : Genders --------------------------------------------------------Найти Вставить после найденного Код: Выделить всё //-- mod : BB Genders Plus ------------------------------------------------------------ 'GENDER_X' => GENDER_X, 'GENDER_M' => GENDER_M, 'GENDER_F' => GENDER_F,
'S_GENDER_X' => ($data['gender'] == GENDER_X) ? true : false, 'S_GENDER_M' => ($data['gender'] == GENDER_M) ? true : false, 'S_GENDER_F' => ($data['gender'] == GENDER_F) ? true : false, //-- end mod : Genders --------------------------------------------------------Открыть styles/prosilver/template/ucp_register.htmlНайти Код: Выделить всё <dl> <dt><label for="tz">{L_TIMEZONE}:</label></dt> <dd><select name="tz" id="tz" tabindex="7" class="autowidth">{S_TZ_OPTIONS}</select></dd> </dl>Вставить после найденного Код: Выделить всё <dl> <dt><label for="gender_x">{L_GENDER}:</label><br /><span>{L_GENDER_EXPLAIN}</span></dt> <dd> <label for="gender_m"><input type="radio" name="gender" id="gender_m" value="{GENDER_M}"<!-- IF S_GENDER_M --> checked="checked"<!-- ENDIF --> /> {L_GENDER_M}</label> <label for="gender_f"><input type="radio" name="gender" id="gender_f" value="{GENDER_F}"<!-- IF S_GENDER_F --> checked="checked"<!-- ENDIF --> /> {L_GENDER_F}</label> <label for="gender_x"><input type="radio" name="gender" id="gender_x" value="{GENDER_X}"<!-- IF S_GENDER_X --> checked="checked"<!-- ENDIF --> /> {L_GENDER_X}</label> <br /><br />{L_GENDER_REGISTER} </dd> </dl>Открыть styles/subsilver2/template/ucp_register.htmlНайти Код: Выделить всё <tr> <td class="row1"><b class="genmed">{L_TIMEZONE}: </b></td> <td class="row2"><select name="tz">{S_TZ_OPTIONS}</select></td> </tr>Вставить после найденного Код: Выделить всё <tr> <td class="row1" width="35%"><b class="genmed"><label for="gender_x">{L_GENDER}:</label> </b><br /><span class="gensmall">{L_GENDER_EXPLAIN}</span></td> <td class="row2"> <label for="gender_m"><input type="radio" name="gender" id="gender_m" value="{GENDER_M}"<!-- IF S_GENDER_M --> checked="checked"<!-- ENDIF --> /> {L_GENDER_M}</label> <label for="gender_f"><input type="radio" name="gender" id="gender_f" value="{GENDER_F}"<!-- IF S_GENDER_F --> checked="checked"<!-- ENDIF --> /> {L_GENDER_F}</label> <label for="gender_x"><input type="radio" name="gender" id="gender_x" value="{GENDER_X}"<!-- IF S_GENDER_X --> checked="checked"<!-- ENDIF --> /> {L_GENDER_X}</label> <br />{L_GENDER_REGISTER} </td> </tr>Открыть language/ru/common.phpНайти Вставить после найденного Код: Выделить всё 'GENDER_REGISTER' => '<strong>!! Указание вашего пола обязательно</strong>',Открыть language/en/common.phpНайти Вставить после найденного Код: Выделить всё 'GENDER_REGISTER' => '<strong>!! Your gender is mandatory</strong>',
Вроде бы всё. Успехов в применении.
|
|