сайт на данный момент является архивом информации по форуму phpbb 3.0. объяснения и помощь больше не предоставляются. старый сайт

Белк на PhpBB 3.0.14

информация по этому форуму. bbcode, моды и прочее, проверенное Белком. (перенос данных продолжается...)

Сегодня на конференции было 55 посетителей :: 1 зарегистрированный, 0 скрытых, 1 бот и 53 гостей (основано на активности посетителей за последние 24 часа)




 [ 1 сообщение ] 
Автор Сообщение
Не в сети
  (Андрей)
Администратор
Аватара пользователя

Стаж: 5 месяцев 20 дней
Сообщения: 228
Откуда: здешние мы

Стиль сайта: subsilver2
Настоящее имя: Андрей


Precise Similar Topics II phpbb3 - мод Похожие темы

модификация добавляет на страницу просмотра тем блок, в котором располагаются похожие по названию темы.

Выглядит сие примерно так:

Вложение:
similar_scan.png
similar_scan.png [ 50.15 КБ | Просмотров: 129 ] similar_scan.png



Если вам интересно - ставим:

скачать из архива сайта

распаковать и содержимое папки root загрузить в корень сайта (где файл config.php).
если у вас на сервере уже есть папка umil - удалите её из папки root перед копированием.

Теперь приступаем к редактированию файлов:

для стиля prosilver
Открыть styles/prosilver/template/viewtopic_body.html

Найти

Код: Выделить всё

<!-- INCLUDE jumpbox.html -->


Вставить перед найденным

Код: Выделить всё

<!-- IF .similar -->
   <!-- INCLUDE similar_topics.html -->
<!-- ENDIF -->


для стиля subsilver2
Открыть styles/subsilver2/template/viewtopic_body.html

Найти

Код: Выделить всё

<!-- INCLUDE breadcrumbs.html -->


Вставить перед найденным

Код: Выделить всё

<!-- IF .similar -->
   <!-- INCLUDE similar_topics.html -->
<!-- ENDIF -->


Завершение установки:

Запустите файл установки через браузер по адресу

Код: Выделить всё

http://ваш форум/install_similar_topics.php


после отработки скрипта удалите его с сервера.

Почистите кэш. Всё. Модификация установлена.
Настройки мода находятся по адресу Админка - Модули - Похожие темы.
Проверьте права доступа к этому моду - надо включить (Права доступа - Права групп - выбор группы - расширенные права - Разное - может видеть похожие темы - включить).
Русификация мода уже находится в архиве.



p.s. Если у вас установлены и моды Topic Text in Mouse Over и Avatar of poster on Index and Viewforum, то можно эти красивости вывести и в "Похожие Темы". Выглядеть это будет примерно так:

Вложение:
similar_dop.png
similar_dop.png [ 68.97 КБ | Просмотров: 129 ] similar_dop.png



 правки для Topic Text in Mouse Over

Открыть includes/functions_similar_topics.php

Найти

Код: Выделить всё

// Add topic tracking data to the query (only when query caching is off)


Вставить перед найденным

Код: Выделить всё

// BEGIN Topic Text Hover Mod
         if ($config['hover_active'] && !$user->data['user_text_hover'])
         {
            include($phpbb_root_path . 'includes/topic_text_hover.' . $phpEx);
            if($config['hover_show'] == TOPIC_TEXT_HOVER_FIRST || $config['hover_show'] == TOPIC_TEXT_HOVER_BOTH)
            {
               $sql_array['LEFT_JOIN'][] = array('FROM' => array(POSTS_TABLE => 'p'), 'ON' => 'p.post_id = t.topic_first_post_id');
                  $sql_array['SELECT'] .= ', p.post_text AS first_text_hover';
            }
            if($config['hover_show'] == TOPIC_TEXT_HOVER_LAST || $config['hover_show'] == TOPIC_TEXT_HOVER_BOTH)
            {
               $sql_array['LEFT_JOIN'][] = array('FROM' => array(POSTS_TABLE => 'pt'), 'ON' => 'pt.post_id = t.topic_last_post_id');
               $sql_array['SELECT'] .= ', pt.post_text AS last_text_hover';
            }
         }
         // END Topic Text Hover Mod


Найти

Код: Выделить всё

$template->assign_block_vars('similar', array(


Вставить перед найденным

Код: Выделить всё

 // BEGIN Topic Text Hover Mod
            if (!empty($row['first_text_hover']) || !empty($row['last_text_hover']))
            {
               // strip bbcode
               include($phpbb_root_path . 'includes/topic_text_hover.' . $phpEx);         
               if(!empty($row['first_text_hover']))
               {
                  $first_text_hover = bbcode_strip($row['first_text_hover']);
                  if (utf8_strlen($first_text_hover) >= $config['hover_char_limit'])
                  {
                     $first_text_hover = (utf8_strlen($first_text_hover) > $config['hover_char_limit'] + 3) ? utf8_substr($first_text_hover, 0, $config['hover_char_limit']) . '...' : $first_text_hover;
                  }
               }
               if(!empty($row['last_text_hover']))
               {
                  $last_text_hover = bbcode_strip($row['last_text_hover']);
                  if (utf8_strlen($last_text_hover) >= $config['hover_char_limit'])
                  {
                     $last_text_hover = (utf8_strlen($last_text_hover) > $config['hover_char_limit'] + 3) ? utf8_substr($last_text_hover, 0, $config['hover_char_limit']) . '...' : $last_text_hover;
                  }
               }
            }
            else
            {
               $first_text_hover = $last_text_hover = '';
            }
            // END Topic Text Hover Mod


Найти

Код: Выделить всё

'PAGINATION'         => topic_generate_pagination($row['topic_replies'], append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $similar_forum_id . '&amp;t=' . $similar_topic_id)),


Вставляем перед найденным

Код: Выделить всё

// BEGIN Topic Post Text Mod
            'FIRST_TEXT_HOVER'   => (isset($first_text_hover)) ? censor_text($first_text_hover) : '',
            'LAST_TEXT_HOVER'   => (isset($last_text_hover)) ? censor_text($last_text_hover) : '',
            'LAST_POST_IMG'      => $user->img('icon_topic_latest'),
            // END Topic Post Text Mod



Открыть styles/ваш стиль/template/similar_topics.html

Найти

Код: Выделить всё

href="{similar.U_VIEW_TOPIC}" class="topictitle"


Вставить после найденного (вставляем прямо в строку)

Код: Выделить всё

<!-- IF similar.FIRST_TEXT_HOVER -->title="{similar.FIRST_TEXT_HOVER}"<!-- ENDIF -->


Найти

Код: Выделить всё

href="{similar.U_LAST_POST}"


Вставить после найденного (вставляем прямо в строку)

Код: Выделить всё

<!-- IF similar.LAST_TEXT_HOVER -->title="{similar.LAST_TEXT_HOVER}"<!-- ENDIF -->


Найти

Код: Выделить всё

{LAST_POST_IMG}


Заменить найденное на

Код: Выделить всё

<!-- IF similar.LAST_TEXT_HOVER -->{similar.LAST_POST_IMG}<!-- ELSE -->{LAST_POST_IMG}<!-- ENDIF -->


 Чистим кэш и модификация готова к работе.



 правки для Avatar of poster on Index and Viewforum
Внимание !!!
Версия Avatar of poster on Index and Viewforum должна быть 1.2.1а иначе ничего работать не будет !!!


Открыть includes/functions_similar_topics.php

Найти

Код: Выделить всё

$template->assign_block_vars('similar', array(


Вставить перед найденным

Код: Выделить всё

$avatar_img = $avatar_max_dimensions = $topic_last_poster_avatar_height = $topic_last_poster_avatar_width = $topic_first_poster_avatar_width = $topic_first_poster_avatar_height = '';
     
      if ( !empty($row['topic_first_poster_avatar']) || !empty($row['topic_last_poster_avatar']))
      {
      $avatar_max_dimensions = 50;
     
         if ( $row['topic_first_poster_avatar_width'] >= $row['topic_first_poster_avatar_height'] )
         {
            $topic_first_poster_avatar_width = ( $row['topic_first_poster_avatar_width'] > $avatar_max_dimensions ) ? $avatar_max_dimensions : $row['topic_first_poster_avatar_width'] ;
            $topic_first_poster_avatar_height = ( $topic_first_poster_avatar_width == $avatar_max_dimensions ) ? round($avatar_max_dimensions / $row['topic_first_poster_avatar_width'] * $row['topic_first_poster_avatar_height']) : $row['topic_first_poster_avatar_height'] ;
         }
         else
         {
            $topic_first_poster_avatar_height = ( $row['topic_first_poster_avatar_height'] > $avatar_max_dimensions ) ? $avatar_max_dimensions : $row['topic_first_poster_avatar_height'] ;
            $topic_first_poster_avatar_width = ( $topic_first_poster_avatar_height == $avatar_max_dimensions ) ? round($avatar_max_dimensions / $row['topic_first_poster_avatar_height'] * $row['topic_first_poster_avatar_width']) : $row['topic_first_poster_avatar_width'] ;
         }
 
         if ( $row['topic_last_poster_avatar_width'] >= $row['topic_last_poster_avatar_height'] )
         {
            $topic_last_poster_avatar_width = ( $row['topic_last_poster_avatar_width'] > $avatar_max_dimensions ) ? $avatar_max_dimensions : $row['topic_last_poster_avatar_width'] ;
            $topic_last_poster_avatar_height = ( $topic_last_poster_avatar_width == $avatar_max_dimensions ) ? round($avatar_max_dimensions / $row['topic_last_poster_avatar_width'] * $row['topic_last_poster_avatar_height']) : $row['topic_last_poster_avatar_height'] ;
         }
         else
         {
            $topic_last_poster_avatar_height = ( $row['topic_last_poster_avatar_height'] > $avatar_max_dimensions ) ? $avatar_max_dimensions : $row['topic_last_poster_avatar_height'] ;
            $topic_last_poster_avatar_width = ( $topic_last_poster_avatar_height == $avatar_max_dimensions ) ? round($avatar_max_dimensions / $row['topic_last_poster_avatar_height'] * $row['topic_last_poster_avatar_width']) : $row['topic_last_poster_avatar_width'] ;
         }
         
      }


Найти

Код: Выделить всё

'S_UNREAD_TOPIC'      => $unread_topic,


Вставляем перед найденным

Код: Выделить всё

'TOPIC_AUTHOR_AVATAR'      => ($config['enable_avatar_index']) ? get_user_avatar($row['topic_first_poster_avatar'], $row['topic_first_poster_avatar_type'], $topic_first_poster_avatar_width, $topic_first_poster_avatar_height) : false,
         'TOPIC_AUTHOR_AVATAR_MARGIN'   => ( $topic_first_poster_avatar_width == '' ) ? '' : (( $topic_first_poster_avatar_width == $avatar_max_dimensions ) ? 5 : ( $avatar_max_dimensions - $topic_first_poster_avatar_width + 5 )),
         'AVATAR_WIDTH'         => $avatar_max_dimensions,
         'LAST_POST_AUTHOR_AVATAR'   => ($config['enable_avatar_index']) ? get_user_avatar($row['topic_last_poster_avatar'], $row['topic_last_poster_avatar_type'], $topic_last_poster_avatar_width, $topic_last_poster_avatar_height) : false,
         'LAST_POST_AUTHOR_AVATAR_MARGIN'=> ( $topic_last_poster_avatar_width == $avatar_max_dimensions ) ? 5 : ( $avatar_max_dimensions - $topic_last_poster_avatar_width + 5 ),


 для стилей на основе prosilver:

Открыть /styles/ваш стиль/template/similar_topics.html

Найти

Код: Выделить всё

{similar.TOPIC_ICON_IMG}); background-repeat: no-repeat;"<!-- ENDIF -->>


Вставляем после найденного

Код: Выделить всё

<!-- IF similar.TOPIC_AUTHOR_AVATAR --><span style="float: left; padding-top: 3px; margin-right: {similar.TOPIC_AUTHOR_AVATAR_MARGIN}px;">{similar.TOPIC_AUTHOR_AVATAR}</span><!-- ENDIF -->


Найти

Код: Выделить всё

<span>
               {L_POST_BY_AUTHOR}


Вставить перед найденным

Код: Выделить всё

<!-- IF similar.LAST_POST_AUTHOR_AVATAR --><div style="float: left; padding-top: 0px; margin-left: 5px; margin-right: {similar.LAST_POST_AUTHOR_AVATAR_MARGIN}px;">{similar.LAST_POST_AUTHOR_AVATAR}</div><!-- ENDIF -->


 для стилей на основе subsilver2:

Открыть /styles/ваш стиль/template/similar_topics.html

Найти

Код: Выделить всё

<td class="row1" width="25" align="center">{similar.TOPIC_FOLDER_IMG}</td>


Заменить найденное на

Код: Выделить всё

<td class="row1" width="25" align="center"><!-- IF similar.TOPIC_AUTHOR_AVATAR -->{similar.TOPIC_AUTHOR_AVATAR}<!-- ENDIF --></td>


Найти

Код: Выделить всё

<td class="row1" width="120" align="center">


Вставить после найденного

Код: Выделить всё

<!-- IF similar.LAST_POST_AUTHOR_AVATAR --><div style="float: left; padding-top: 0px; margin-left: 5px; margin-right: {similar.LAST_POST_AUTHOR_AVATAR_MARGIN}px;">{similar.LAST_POST_AUTHOR_AVATAR}</div><!-- ENDIF -->


 Чистим кэш и всё готово.


оригинал темы:

оригинал доработки:


трёхголовый белк семейства рептилоидов:
"три головы - хорошо, на как же трудно придти к согласию..."
Показать сообщения за:  Поле сортировки  
Ответить на тему  [ 1 сообщение ] 

Кто сейчас на конференции:

Всего посетителей: 1, из них зарегистрированных: 0, скрытых: 0 и гостей: 1 (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (63) здесь было 23 май 2026, 12:35

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

Часовой пояс: UTC + 3 часа



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

Найти:
Перейти:  

cron

Текущее время: 26 июн 2026, 22:15

Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB.