Выбор шаблона из профиля

Тема в разделе "Модификации для TorrentPier (архив)", создана пользователем Zenden, 20 окт 2011.

  1. Zenden

    Zenden Пользователь

    Сообщения:
    395
    Симпатии:
    314
    Автор: Zenden (хотя тут сплошной копипаст):)
    Описание: Позволяет выбирать тему оформления из профиля пользователя.

    Выполнить запросы
    PHP:
    ALTER TABLE `bb_usersADD `user_tplvarchar(11NOT NULL default 'default'
    открыть functions_select.php в самом низу добавить
    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
    найти
    PHP:
    'user_lang'        => true,
    ниже добавить
    PHP:
    'user_tpl'          => true,
    найти
    PHP:
    'user_opt' => 0,
    ниже добавить
    PHP:
    'user_tpl'        => $bb_cfg['tpl_name'],
    найти
    PHP:
    'user_avatar_type' => true,
    ниже добавить
    PHP:
    'user_tpl'        => true,
    найти
    PHP:
     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;
    ниже добавить
    PHP:
     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;
    найти
    PHP:
    'LANGUAGE_SELECT'    => language_select($user_lang'user_lang'),
    ниже добавить
    PHP:
    'SELECT_TPL'        => tpl_select($user_tpl'user_tpl'),
    открыть functions.php
    найти
    PHP:
     global $bb_cfg$template;
    заменить
    PHP:
    global $bb_cfg$template$userdata;
    найти
    PHP:
     $tpl_dir_name defined('IN_ADMIN') ? 'default' basename($bb_cfg['tpl_name']);  
    заменить
    PHP:
    $tpl_dir_name defined('IN_ADMIN') ? 'default' basename(IS_GUEST 'default' $userdata['user_tpl']);
    открыть config.php
    найти
    PHP:
     $bb_cfg['tpl_name'] = 'default';
    заменить
    PHP:
    $bb_cfg['tpl_name'] = array( 'default'); // для установки новой темы оформления, через запятую добавляем, название (название должно строго соответствовать названию папки вашей темы)
    открыть usercp_register.tpl
    найти
    HTML:
    <!-- IF $bb_cfg['allow_change']['language'] -->
    <tr>
        <td>{L_BOARD_LANG}:</td>
        <td>{LANGUAGE_SELECT}</td>
    </tr>
    <!-- ENDIF -->
    ниже вставить
    HTML:
    <tr>
        <td>{L_SELECT_TPL}:</td>
        <td>{SELECT_TPL}</td>
    </tr>
    В lang_main.php добавить $lang['SELECT_TPL'] = 'Выбор шаблона';
    --------------------------
    Немного оптимизировал, убрал использование отдельной таблицы. теперь мод работает без дополнительных запросов, выбор шаблона вынес в config.php (загнал в массив).
     
    XDA, Sprinx, inedgul и 3 другим нравится это.
  2. Varius

    Varius Пользователь

    Сообщения:
    422
    Симпатии:
    44
    чем-то на лога смахивает)))
     
  3. Zenden

    Zenden Пользователь

    Сообщения:
    395
    Симпатии:
    314
    У лога разве был мод смены шаблонов?
    Я не видел, по крайней мере в паблике.
     
  4. Varius

    Varius Пользователь

    Сообщения:
    422
    Симпатии:
    44
    Zenden,паблик есть паблик)))
     
  5. inedgul

    inedgul Пользователь

    Сообщения:
    57
    Симпатии:
    10
    При чистке кеша шаблонов выходит
    Warning: htmlspecialchars() expects parameter 1 to be string, array given in /admin/xs_cache.php on line 221

    Warning: urlencode() expects parameter 1 to be string, array given in /admin/xs_cache.php on line 227
     
    Игорь Бателфилдович нравится это.
  6. Link

    Link Гость

    Вопрос: куда и в какие папки скидывать шаблоны?
     
  7. Varius

    Varius Пользователь

    Сообщения:
    422
    Симпатии:
    44
    Spencer, templates
     
  8. Link

    Link Гость

    а дальше-то что?
     
  9. Varius

    Varius Пользователь

    Сообщения:
    422
    Симпатии:
    44
    Spencer, кидаешь папочки с шаблонами)))
     
  10. Gemini_13

    Gemini_13 Гость

    Spencer, а дальше надо стучать в бубен, призвать дождь, чтобы вырос хмель и пшеница, сварить пиво, выпить пиво, включить моцк или нормально описать проблему/задачу и проспется. хотя... в твоем возрасте о пиве рано, так что банально включи моцк или опиши проблему/задачу.
     
    iFlooder, Lange, DarkMod и ещё 1-му нравится это.

Поделиться этой страницей