Форум web-мастеров phpBB3

Модификации и расширения phpBB
Регистрация ·  Логин: Пароль: Запомнить   · Забыли пароль?




Ответить на тему
Пред. тема | След. тема 
Автор Сообщение
Местный тролль

Карма
0
Стаж: 4 года 11 месяцев
Сообщения: 12
Украина

Ответить с цитатой

Существует мод под названием Expand categories (https://www.phpbb.com/customise/db/mod/ ... ategories/) для форума phpBB3 который позволяет сворачивать категории форума, с возможностью сохранения состояния в куках пользователя, а так-же в опции каждой из категорий указывать начальное состояние категории (свёрнута/развёрнута), текущая версия мода 1.4.1, под phpBB версии 3.0.5 и только для стиля prosilver, доработанный вариант этого мода под последнюю версию phpBB3 (3.0.9) + инструкция для стиля subsliver2:

В phpmyadmin выполнить

ALTER TABLE phpbb_forums ADD default_display tinyint(1) NOT NULL DEFAULT 1;


adm/style/acp_forums.html после

            <label><input type="radio" class="radio" name="display_active" value="0"<!-- IF not S_ENABLE_ACTIVE_TOPICS --> id="display_active" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
      </dl>


добавить

      <dl>
         <dt><label for="forum_style">{L_DEFAULT_DISPLAY}:</label><br /><span>{L_DEFAULT_DISPLAY_EXPLAIN}</span></dt>
         <dd><label><input type="radio" class="radio" name="default_display" value="1"<!-- IF S_DEFAULT_DISPLAY --> id="default_display" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
            <label><input type="radio" class="radio" name="default_display" value="0"<!-- IF not S_DEFAULT_DISPLAY --> id="default_display" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
      </dl>


includes/acp/acp_forums.php после

                  'forum_password_confirm'=> request_var('forum_password_confirm', '', true),
                  'forum_password_unset'   => request_var('forum_password_unset', false),


добавить

                  'default_display'      => request_var('default_display', true),


после

                     'forum_password'      => '',
                     'forum_password_confirm'=> '',


добавить

                     'default_display'      => true,


после

               'S_ENABLE_QUICK_REPLY'      => ($forum_data['forum_flags'] & FORUM_FLAG_QUICK_REPLY) ? true : false,
               'S_CAN_COPY_PERMISSIONS'   => ($action != 'edit' || empty($forum_id) || ($auth->acl_get('a_fauth') && $auth->acl_get('a_authusers') && $auth->acl_get('a_authgroups') && $auth->acl_get('a_mauth'))) ? true : false,


добавить

               'S_DEFAULT_DISPLAY'         => ($forum_data['default_display']) ? true : false,


includes/functions_display.php после

      // Empty category
      if ($row['parent_id'] == $root_data['forum_id'] && $row['forum_type'] == FORUM_CAT)
      {


добавить

         $cat_aff_stat = request_var($config['cookie_name'].'_cat_'.$row['forum_id'].'_aff_stat', intval($row['default_display']),false,true);


после

         $template->assign_block_vars('forumrow', array(
            'S_IS_CAT'            => true,


добавить

            'DISPLAY_CAT'         => ($cat_aff_stat) ? '' : 'none',
            'DISPLAY_CAT_LINK'      => ($cat_aff_stat) ? '<a href="javascript:show_details(\'cat_'.$row['forum_id'].'\');" title="'.$user->lang['EXPAND_CAT_HIDE'].'">-</a>' : '<a href="javascript:show_details(\'cat_'.$row['forum_id'].'\');" title="'.$user->lang['EXPAND_CAT_DISPLAY'].'">+</a>',


index.php после

// Assign index specific vars
$template->assign_vars(array(


добавить

   'COOKIE_NAME'      => $config['cookie_name'],


language/ru/acp/forums.php перед



добавить

   'DEFAULT_DISPLAY'         => 'Показывать форумы развёрнутыми',
   'DEFAULT_DISPLAY_EXPLAIN'   => 'Настройки показа/скрытия форумов',


language/ru/common.php перед


добавить

$lang = array_merge($lang, array(
   'EXPAND_CAT_DISPLAY'   => 'Показать форумы',
   'EXPAND_CAT_HIDE'      => 'Скрыть форумы',
));


styles/prosilver/template/forumlist_body.html перед

<!-- BEGIN forumrow -->
   <!-- IF (forumrow.S_IS_CAT and not forumrow.S_FIRST_ROW) or forumrow.S_NO_CAT  -->


добавить

<script type="text/javascript">
function show_details(id)
{
   if(document.getElementById(id).style.display == 'none')
   {
      //Display
      document.getElementById(id).style.display = 'block';
      //Change link
      document.getElementById('phpbb_'+id).innerHTML = '<a href="javascript:show_details(\''+id+'\');" title="{L_EXPAND_CAT_HIDE}">-</a>';
      //Delete cookie
      createCookie('{COOKIE_NAME}_'+id+'_aff_stat', 1, 365);
   }
   else
   {
      //Don't display
      document.getElementById(id).style.display = 'none';
      //Change link
      document.getElementById('phpbb_'+id).innerHTML = '<a href="javascript:show_details(\''+id+'\');" title="{L_EXPAND_CAT_DISPLAY}">+</a>';
      //Create cookie
      createCookie('{COOKIE_NAME}_'+id+'_aff_stat', 0, 365);
   }
}
</script>


после

<!-- BEGIN forumrow -->
   <!-- IF (forumrow.S_IS_CAT and not forumrow.S_FIRST_ROW) or forumrow.S_NO_CAT  -->
         </ul>


добавить

         </div>

заменить

                  <dt><!-- IF forumrow.S_IS_CAT --><a href="{forumrow.U_VIEWFORUM}">{forumrow.FORUM_NAME}</a><!-- ELSE -->{L_FORUM}<!-- ENDIF --></dt>


на

                  <dt><!-- IF forumrow.S_IS_CAT --><span id="phpbb_cat_{forumrow.FORUM_ID}" style="font-size:18px;margin-right:8px;">{forumrow.DISPLAY_CAT_LINK}</span><a href="{forumrow.U_VIEWFORUM}">{forumrow.FORUM_NAME}</a><!-- ELSE -->{L_FORUM}<!-- ENDIF --></dt>


перед

         <ul class="topiclist forums">
   <!-- ENDIF -->


добавить

            <div id="cat_{forumrow.FORUM_ID}" style="display:{forumrow.DISPLAY_CAT};">


после

   <!-- IF forumrow.S_LAST_ROW -->
         </ul>


добавить

         </div>


styles/subsilver2/template/forumlist_body.html перед

<table class="tablebg" cellspacing="1" width="100%">


добавить

<script type="text/javascript">
function show_details(id)
{
   if(document.getElementById(id).style.display == 'none')
   {
      //Display
      document.getElementById(id).style.display = '';
      //Change link
      document.getElementById('phpbb_'+id).innerHTML = '<a class="wo_title" href="javascript:show_details(\''+id+'\');" title="{L_EXPAND_CAT_HIDE}">-</a>';
      //Delete cookie
      document.cookie = '{COOKIE_NAME}_'+id+'_aff_stat=1;';
   }
   else
   {
      //Don't display
      document.getElementById(id).style.display = 'none';
      //Change link
      document.getElementById('phpbb_'+id).innerHTML = '<a class="wo_title" href="javascript:show_details(\''+id+'\');" title="{L_EXPAND_CAT_DISPLAY}">+</a>';
      //Create cookie
      document.cookie = '{COOKIE_NAME}_'+id+'_aff_stat=0;';
   }
}
</script>


<!-- BEGIN forumrow -->

   <!-- IF (forumrow.S_IS_CAT and not forumrow.S_FIRST_ROW) or forumrow.S_NO_CAT  -->
      </tbody>

</table>
   <!-- ENDIF -->

   <!-- IF forumrow.S_IS_CAT or forumrow.S_FIRST_ROW  or forumrow.S_NO_CAT  -->


после

<table class="tablebg" cellspacing="1" width="100%">


добавить

<!-- IF forumrow.S_FIRST_ROW -->


перед

<tr>
   <th colspan="2">&nbsp;{L_FORUM}&nbsp;</th>


добавить

   <!-- ENDIF -->


удалить

<!-- BEGIN forumrow -->
   <!-- IF forumrow.S_IS_CAT -->


заменить

         <td class="cat" colspan="2"><h4><a href="{forumrow.U_VIEWFORUM}">{forumrow.FORUM_NAME}</a></h4></td>


на

            <td class="cat" colspan="2"><h4><span id="phpbb_cat_{forumrow.FORUM_ID}" style="font-size:18px;margin-right:8px;">{forumrow.DISPLAY_CAT_LINK}</span><a href="{forumrow.U_VIEWFORUM}">{forumrow.FORUM_NAME}</a></h4></td>


заменить

   <!-- ELSEIF forumrow.S_IS_LINK -->
      <tr>
         <td class="row1" width="50" align="center">{forumrow.FORUM_FOLDER_IMG}</td>
         <td class="row1">
            <!-- IF forumrow.FORUM_IMAGE -->
               <div style="float: {S_CONTENT_FLOW_BEGIN}; margin-{S_CONTENT_FLOW_END}: 5px;">{forumrow.FORUM_IMAGE}</div>


на

   <tbody id="cat_{forumrow.FORUM_ID}" style="display:{forumrow.DISPLAY_CAT};">


заменить

            <a class="forumlink" href="{forumrow.U_VIEWFORUM}">{forumrow.FORUM_NAME}</a>
            <p class="forumdesc">{forumrow.FORUM_DESC}</p>
         </td>
         <!-- IF forumrow.CLICKS -->
            <td class="row2" colspan="3" align="center"><span class="genmed">{L_REDIRECTS}: {forumrow.CLICKS}</span></td>
         <!-- ELSE -->
            <td class="row2" colspan="3" align="center">&nbsp;</td>
         <!-- ENDIF -->
      </tr>
   <!-- ELSE -->
      <!-- IF forumrow.S_NO_CAT -->
         <tr>
            <td class="cat" colspan="2"><h4>{L_FORUM}</h4></td>
            <td class="catdiv" colspan="3">&nbsp;</td>
         </tr>
      <!-- ENDIF -->


на

   <!-- IF not forumrow.S_IS_CAT -->


перед

<!-- BEGINELSE -->
   <tr>


добавить

   <!-- IF forumrow.S_LAST_ROW -->
      </tbody>
   <!-- ENDIF -->


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

Результат, скриншоты, опция в адм. разделе:
#883

Свёрнутые/развёрнутые категории форумов:
#883

#883

#883


Профиль  Отправить личное сообщение
Идеальный заработок для торрент-трекеров
Страница 1 из 1
Показать сообщения за:  Поле сортировки  
Ответить на тему

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

cron



Powered by phpBB, 9CaraTT.RU, 2012-2018.
Обратная связь
000webhost logo