• 198 Who Viewed A Topic - кто смотрел тему списком • 
Вывод список всех просмотревших тему
При создании темы о модах для двигателя форумов phpBB ветки до версии 3.0.14 название темы должно начинаться с названия мода на английском, без указания версии, затем тире, затем короткое название мода на русском с маленькой буквы. Создание тем не о модах в данном подфоруме запрещено. Посторонние темы о двиге и посторонних проблемах для ветки до версии 3.0.14 в соседнем подфоруме.

    198 Who Viewed A Topic - кто смотрел тему списком

Сообщение Разместил Pthelovod 09 апр 2017, 14:20

Мод КТО СМОТРЕЛ ТЕМУ (СПИСОК) Who Viewed a Topic
Открыв тему. можно посмотреть кто ее смотрел... Счетчик просмотров действует с накоплением информации.
Кнопочка "кто просматривал тему" в самом низу любой страницы темы...

Pthelovod
Александр (можно Николаич)
Александр (можно Николаич) 

  198 Who Viewed A Topic - кто смотрел тему списком

Сообщение Разместил Pthelovod 09 апр 2017, 14:20

Например так -

Pthelovod
Александр (можно Николаич)
Александр (можно Николаич) 

  198 Who Viewed A Topic - кто смотрел тему списком

Сообщение Разместил Pthelovod 09 апр 2017, 14:22

Первоначальный вариант блока вывода -

Pthelovod
Александр (можно Николаич)
Александр (можно Николаич) 

  198 Who Viewed A Topic - кто смотрел тему списком

Сообщение Разместил Pthelovod 09 апр 2017, 14:24

Сам первоначальный мод от автора -

Pthelovod
Александр (можно Николаич)
Александр (можно Николаич) 

  198 Who Viewed A Topic - кто смотрел тему списком

Сообщение Разместил Pthelovod 09 апр 2017, 14:28

А кто-нибудь придумал как из статистики возвращаться в тему? Поделитесь...

Вариант от DennyTX с www.phpbbguru.net
styles/prosilver/template/viewtopicviewers_body.html
найти
Код: выделить все
<h2>{TOTAL_TOPIC_VIEWERS}</h2>

вставить после
Код: выделить все
<p><em>{U_BACK}</em></p>

найти
Код: выделить все
<p><em>{U_SUPP}</em></p>

вставить перед
Код: выделить все
<p><em>{U_BACK}</em></p>

viewtopicviewers.php
найти
Код: выделить все
      'U_SUPP'   => "<a href="". append_sid("{$phpbb_root_path}viewtopicviewers.$phpEx", "topic=$topic&amp;delete=1") ."">". $user->lang['TV_DELETE_STATISTICS'] ."</a>"

заменить на
Код: выделить все
      'U_SUPP'   => "<a href="". append_sid("{$phpbb_root_path}viewtopicviewers.$phpEx", "topic=$topic&amp;delete=1") ."">". $user->lang['TV_DELETE_STATISTICS'] ."</a>",

вставить после
Код: выделить все
      'U_BACK'   => "<a href="". append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$forum_id&amp;t=$topic") ."">" . $user->lang['PREVIOUS']. "</a>"

Pthelovod
Александр (можно Николаич)
Александр (можно Николаич) 

  198 Who Viewed A Topic - кто смотрел тему списком

Сообщение Разместил Pthelovod 09 апр 2017, 14:34

Либо по другому -
Мой вариант "упрощенный"
в viewtopicviewers_body.html
Код: выделить все
<h2>{TOTAL_TOPIC_VIEWERS}</h2>

заменить на
Код: выделить все
<h2>{TOTAL_TOPIC_VIEWERS}</h2>
<p><em>{U_BACK_POST}</em></p>

Затем -
Код: выделить все
<p><em>{U_SUPP}</em></p>

заменить на
Код: выделить все
<p><em>{U_BACK_POST}</em></p>
<p><em>{U_SUPP}</em></p>

в viewtopicviewers.php
Код: выделить все
      'U_SUPP'   => "<a href="". append_sid("{$phpbb_root_path}viewtopicviewers.$phpEx", "topic=$topic&amp;delete=1") ."">". $user->lang['TV_DELETE_STATISTICS'] ."</a>"

заменить на
Код: выделить все
      'U_SUPP'   => "<a href="". append_sid("{$phpbb_root_path}viewtopicviewers.$phpEx", "topic=$topic&amp;delete=1") ."">". $user->lang['TV_DELETE_STATISTICS'] ."</a>",
      'U_BACK_POST'   => "<a href="". append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$forum_id&amp;t=$topic") ."">" . $user->lang['PREVIOUS_POST']. "</a>"

в common.php после
Код: выделить все
'PREVIOUS'

вставить
Код: выделить все
'PREVIOUS_POST'                  => 'Возврат в тему',

Pthelovod
Александр (можно Николаич)
Александр (можно Николаич) 

  198 Who Viewed A Topic - кто смотрел тему списком

Сообщение Разместил Pthelovod 09 апр 2017, 14:36

Подскажите как возвращаться именно к последнему сообщению в теме? Или хотя бы к последней странице темы, из которой просматривалась информация.

Вариант продолжения от DennyTX с http://www.phpbbguru.net
Изначальный код не получает координат последнего сообщения темы.
Но если надо вернуться из статистики просмотров именно к последнему сообщению темы, то это решается следующим образом

найти
Код: выделить все
//*****************************
// Can the user delete statistics ?
//*****************************

вставить после
Код: выделить все
$sql = 'SELECT topic_last_post_id
FROM ' . TOPICS_TABLE . '
WHERE topic_id = ' . $topic;
$last_post = $db->sql_query($sql);
$last_post_id = $db->sql_fetchrow($last_post);
$last_post_id = $last_post_id['topic_last_post_id'];

найти
Код: выделить все
      'U_BACK_POST'   => "<a href="". append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$forum_id&amp;t=$topic") ."">" . $user->lang['PREVIOUS_POST']. "</a>"   

заменить на
Код: выделить все
      'U_BACK_POST'   => "<a href="". append_sid("{$phpbb_root_path}viewtopic.$phpEx", "p=$last_post_id" . "#p" . "$last_post_id") ."">" . $user->lang['PREVIOUS']. "</a>"

Прим. в данном случае нам уже не нужны IDы форума и топика, так как у каждого сообщения свой уникальный ID

Pthelovod
Александр (можно Николаич)
Александр (можно Николаич) 

  198 Who Viewed A Topic - кто смотрел тему списком

Сообщение Разместил Pthelovod 09 апр 2017, 14:38

Вариант по другому от DennyTX с www.phpbbguru.net
Я тут подумал, и решил что можно обойтись и без SQL запроса. так будет типа изящнее :)
Ведь за нас все уже сделали, все уже нашли еще во viewtopic.php и надо этим пользоваться :)

Раз у вас уже стоит этот мод то в viewtopic.php
найти
Код: выделить все
      'U_VIEWTOPICVIEWER'       => append_sid("{$phpbb_root_path}viewtopicviewers.$phpEx", 'topic=' . $topic_id)

заменить на
Код: выделить все
   'U_VIEWTOPICVIEWER'       => append_sid("{$phpbb_root_path}viewtopicviewers.$phpEx", 'topic=' . $topic_id .'&amp;lp='.$topic_data['topic_last_post_id'])

Затем пойти в наш viewtopicviewers.php и убрать там ранее написанный запрос, а вместо него в viewtopicviewers.php найти
Код: выделить все
$supp   = request_var('delete', 0);

вставить после
Код: выделить все
$last_post_id = request_var('lp', 0);

Pthelovod
Александр (можно Николаич)
Александр (можно Николаич) 

  198 Who Viewed A Topic - кто смотрел тему списком

Сообщение Разместил Pthelovod 09 апр 2017, 14:40

Да простит меня автор..собрал - перебрал данный мод с учетом всех изменений. Инструкцию тоже перелопатил под русский.
Провозился весЬ день (хреново тыкать пальцем в небо)... Получилась следующая версия... :ta_n_cor: :ta_n_cor: :ta_n_cor:

Pthelovod
Александр (можно Николаич)
Александр (можно Николаич) 

  198 Who Viewed A Topic - кто смотрел тему списком

Сообщение Разместил Pthelovod 09 апр 2017, 14:41

Затем созрела версия с вариантом сортировки -

Pthelovod
Александр (можно Николаич)
Александр (можно Николаич) 
Следующая страница

Вернуться в 450 модов движка форумов phpBB (до версии 3.0.14)



 • Блок вывода аналогичных по названию других тем нашего форума •