ExBB Community » » Обсуждение » Отображение списка online

Страниц (1): [1]
 

1. Марта - 9 февраля 2010 — 17:03 - перейти к сообщению
Здравствуйте. Переезжаю на вашу платформу с одного из бесплатных сервисных движков и провожу небольшую адаптацию внешнего вида форума.

Хотелось сделать, чтобы на каждой странице форума под логотипоп отображался список участников, которые сейчас на форуме, а также число гостей и сколько всего сейчас человек просматривают форум в таком виде:
Online: ник1, ник2, гостей 3. Всего: 5

В файл logos.tpl в самый низ перед строкой DATA; была добавлена строка
CODE:
Online: {$fm->_MembersOutput} {$countonline_my}

В файл index.php(корневой) под вычислением переменной $countonline была добавлена по аналогии с $countonline (с небольшой модификацией) строка

CODE:
$countonline_my = ($fm->exbb['visiblemode'] === TRUE) ?
sprintf($fm->LANG['OnlineDataVSHide'],$fm->exbb['membergone'],$fm->_OnlineTotal,$fm->_OnlineGuest,$fm->_Members,$fm->_Invisible):
sprintf("гостей %d. Всего: %d ",$fm->_OnlineGuest,$fm->_OnlineTotal);

На главной странице форума все работает как надо. На других страницах просто отображается Online:, вместо вывода _MembersOutput и countonline_my пусто.

Пожалуйста, подскажите, что я делаю не так. Куда надо добавить строку
CODE:
Online: {$fm->_MembersOutput} {$countonline_my}
чтобы она отображалась на каждой странице под логотипом?
2. Victor - 9 февраля 2010 — 18:53 - перейти к сообщению
Мартадело не столько в шаблоне, сколько в исполняемых файлах к которым и подключается тот или иной файл шаблона.. например за список он лайн отвечает файл index.php кажется.. но шапка форума подключается и к другим исполняемым файлам, которые не содержат необходимой переменной, что будет вызывать ошибки..
3. Марта - 9 февраля 2010 — 19:15 - перейти к сообщению
Victor, спасибо. Попробую поэкспериментировать в этом направлении.
4. yura3d - 9 февраля 2010 — 20:43 - перейти к сообщению
Марта
Для того чтобы вывести список пользователей, которые просматривают конкретные раздел или тему в данный момент, лучше включите модуль Расширенная статистика посещений (модули включаются и настраиваются в админке на странице Управление в разделе Модули). Пример работы этого модуля Вы можете видеть на нашем форуме.

Марта пишет:
На главной странице форума все работает как надо. На других страницах просто отображается Online:, вместо вывода _MembersOutput и countonline_my пусто.

Чтобы можно было использовать эти переменные в других скриптах, а не только на главной странице, необходимо вызвать функцию он-лайн учёта пользователей $fm->_OnlineLog() до того, как будут использованы эти переменные. Для вывода пользователей на всех страницах форума (что не рекомендуется, поскольку может создавать некоторую нагрузку на сервер) нужно открыть файл include/common.php, найти в нём строку:
CODE:
?>

и над ней вставить строку:
CODE:
$fm->_OnlineLog($fm->LANG['BoardMain'],FALSE,TRUE);

В этом случае эту же строку (которая указана последней) можно удалить из файла index.php, чтобы лишний раз не запускать алгоритм учёта пользователей.
5. Марта - 9 февраля 2010 — 21:49 - перейти к сообщению
yura3d, спасибо, Цветок . С использованием $fm->_OnlineLog() всё получилось. Модуль расширенной статистики посещений подключен, но хотелось именно полный список присутствующих на форуме.

yura3d пишет:
Для вывода пользователей на всех страницах форума (что не рекомендуется, поскольку может создавать некоторую нагрузку на сервер) нужно открыть файл include/common.php, найти в нём строку
На форуме одновременно бывает максимум человек 8-10, средняя загрузка - до 4-6 человек. По вашим оценкам большая ли нагрузка будет на сервер?
6. yura3d - 9 февраля 2010 — 22:09 - перейти к сообщению
Марта пишет:
На форуме одновременно бывает максимум человек 8-10, средняя загрузка - до 4-6 человек. По вашим оценкам большая ли нагрузка будет на сервер?

Не думаю, что в данном случае будет большая нагрузка

Яндекс.Метрика   

Powered by ExBB
[Script Execution time: 0.0161]     [ ]