#1
Автор: Zenden (хотя тут сплошной копипаст)🙂
Описание: Позволяет выбирать тему оформления из профиля пользователя.
Выполнить запросы
открыть functions_select.php в самом низу добавить
найти
найти
найти
открыть functions.php
найти
найти
найти
открыть usercp_register.tpl
найти
--------------------------
Немного оптимизировал, убрал использование отдельной таблицы. теперь мод работает без дополнительных запросов, выбор шаблона вынес в config.php (загнал в массив).
Описание: Позволяет выбирать тему оформления из профиля пользователя.
Выполнить запросы
ALTER TABLE `bb_users` ADD `user_tpl` varchar(11) NOT NULL default 'default';
открыть functions_select.php в самом низу добавить
function tpl_select($default_style, $select_name = "style", $dirname = "templates")
{
global $bb_cfg, $userdata;
$tpl_select = '<select name="' . $select_name . '">';
foreach ($bb_cfg['tpl_name'] as $tpl_name)
{
$selected = ( $tpl_name == $default_style ) ? ' selected="selected"' : '';
$tpl_select .= '<option value="' . $tpl_name . '"' . $selected . '>' . $tpl_name . '</option>';
}
$tpl_select .= "</select>";
return $tpl_select;
}Открыть usercp_register.phpнайти
'user_lang' => true,ниже добавить
'user_tpl' => true,
найти
'user_opt' => 0,ниже добавить
'user_tpl' => $bb_cfg['tpl_name'],найти
'user_avatar_type' => true,ниже добавить
'user_tpl' => true,
найти
case 'user_lang':
$user_lang = isset($_POST['user_lang']) ? (string) $_POST['user_lang'] : $pr_data['user_lang'];
if ($submit && ($user_lang != $pr_data['user_lang'] || $mode == 'register'))
{
$pr_data['user_lang'] = $user_lang;
$db_data['user_lang'] = $user_lang;
}
break;ниже добавить case 'user_tpl':
$user_tpl = isset($_POST['user_tpl']) ? (string) $_POST['user_tpl'] : $pr_data['user_tpl'];
if ($submit && ($user_tpl != $pr_data['user_tpl'] || $mode == 'register'))
{
$pr_data['user_tpl'] = $user_tpl;
$db_data['user_tpl'] = $user_tpl;
}
break;найти'LANGUAGE_SELECT' => language_select($user_lang, 'user_lang'),ниже добавить
'SELECT_TPL' => tpl_select($user_tpl, 'user_tpl'),
открыть functions.php
найти
global $bb_cfg, $template;заменить
global $bb_cfg, $template, $userdata;
найти
$tpl_dir_name = defined('IN_ADMIN') ? 'default' : basename($bb_cfg['tpl_name']);заменить$tpl_dir_name = defined('IN_ADMIN') ? 'default' : basename(IS_GUEST ? 'default' : $userdata['user_tpl']);открыть config.phpнайти
$bb_cfg['tpl_name'] = 'default';заменить
$bb_cfg['tpl_name'] = array( 'default'); // для установки новой темы оформления, через запятую добавляем, название (название должно строго соответствовать названию папки вашей темы)
открыть usercp_register.tpl
найти
<!-- IF $bb_cfg['allow_change']['language'] -->
<tr>
<td>{L_BOARD_LANG}:</td>
<td>{LANGUAGE_SELECT}</td>
</tr>
<!-- ENDIF -->ниже вставить<tr>
<td>{L_SELECT_TPL}:</td>
<td>{SELECT_TPL}</td>
</tr>В lang_main.php добавить $lang['SELECT_TPL'] = 'Выбор шаблона';--------------------------
Немного оптимизировал, убрал использование отдельной таблицы. теперь мод работает без дополнительных запросов, выбор шаблона вынес в config.php (загнал в массив).