Стоит задача получить отдельную цифру пользователей онлайн для главной страницы, вместо длинного стринга, который штатно используется во viewonline.
В functions.php в массив глобальных переменных добавляю:
'TOTAL_USERS_EXT' => $online_users['total_online'],
В шаблоне index_body использую:
{{ TOTAL_USERS_EXT }}
Всё работает, цифра на главной отображается.
Но при входе на страницу search.php лезет ошибка:
3985: Undefined variable $online_users
3985: Trying to access array offset on value of type null
Что не так? Как сделать, чтобы всё было так?
Как получить переменную общего количества пользователей онлайн?
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение

-
- phpBB 2.0.12
- Сообщения: 871
- Стаж: 14 лет 6 месяцев
- Откуда: Оттуда
- Благодарил (а): 53 раза
- Поблагодарили: 92 раза
Re: Как получить переменную общего количества пользователей онлайн?
Undefined variable $online_users
= Неопределенная переменная $online_users
Определи переменную, возможно глобально.
-
- phpBB Guru
- Сообщения: 16947
- Стаж: 18 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 549 раз
- Поблагодарили: 1700 раз
-
- phpBB 2.0.22
- Сообщения: 1369
- Стаж: 16 лет
- Благодарил (а): 163 раза
- Поблагодарили: 20 раз
Re: Как получить переменную общего количества пользователей онлайн?
В этот массив:
// The following assigns all _common_ variables that may be used at any point in a template.
$template->assign_vars(array(
после
'RECORD_USERS' => $l_online_record,
примерно 3985 строка
-
- phpBB Guru
- Сообщения: 16947
- Стаж: 18 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 549 раз
- Поблагодарили: 1700 раз
Re: Как получить переменную общего количества пользователей онлайн?
Там не определена переменная
$online_users
, так как она задается только в случае, если вызов page_header()
содержит второй параметр в виде true
. В search.php
такого не задано. Либо надо расширением задать true
для $display_online_list
.-
- phpBB 2.0.22
- Сообщения: 1369
- Стаж: 16 лет
- Благодарил (а): 163 раза
- Поблагодарили: 20 раз
Re: Как получить переменную общего количества пользователей онлайн?
Тогда перефразирую вопрос. Мне нужна в шаблон переменная, содержащая количество пользователей (суммарное или просто гостей) онлайн для вывода ТОЛЬКО на главной странице. Как мне ее получить, чтобы не лезло никаких ошибок.
{{ TOTAL_USERS_ONLINE }} выводит полностью длинную фразу
"Всего 92 посетителя :: 8 зарегистрированных, 0 скрытых и 84 гостя (основано на активности пользователей за последние 5 минут)"
которая мне не нужна. Мне из нее нужно только "92".
{{ TOTAL_USERS_ONLINE }} выводит полностью длинную фразу
"Всего 92 посетителя :: 8 зарегистрированных, 0 скрытых и 84 гостя (основано на активности пользователей за последние 5 минут)"
которая мне не нужна. Мне из нее нужно только "92".
-
- phpBB Guru
- Сообщения: 16947
- Стаж: 18 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 549 раз
- Поблагодарили: 1700 раз
Re: Как получить переменную общего количества пользователей онлайн?
Вызов функции
obtain_users_online()
(без параметров) дает массив со всей информацией, из него нужен элемент $online_users['total_online']
.