Стоит задача получить отдельную цифру пользователей онлайн для главной страницы, вместо длинного стринга, который штатно используется во 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 | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
Perfecthus
- phpBB 2.0.12
- Сообщения: 892
- Стаж: 15 лет 1 месяц
- Откуда: Оттуда
- Благодарил (а): 54 раза
- Поблагодарили: 97 раз
Re: Как получить переменную общего количества пользователей онлайн?
Undefined variable $online_users = Неопределенная переменная $online_usersОпредели переменную, возможно глобально.
-
rxu
- phpBB Guru

- Сообщения: 17074
- Стаж: 19 лет 6 месяцев
- Откуда: Красноярск
- Благодарил (а): 567 раз
- Поблагодарили: 1750 раз
-
romeo_piter
- phpBB 2.0.22
- Сообщения: 1375
- Стаж: 16 лет 7 месяцев
- Благодарил (а): 165 раз
- Поблагодарили: 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 строка
-
rxu
- phpBB Guru

- Сообщения: 17074
- Стаж: 19 лет 6 месяцев
- Откуда: Красноярск
- Благодарил (а): 567 раз
- Поблагодарили: 1750 раз
Re: Как получить переменную общего количества пользователей онлайн?
Там не определена переменная
$online_users, так как она задается только в случае, если вызов page_header() содержит второй параметр в виде true. В search.php такого не задано. Либо надо расширением задать true для $display_online_list.-
romeo_piter
- phpBB 2.0.22
- Сообщения: 1375
- Стаж: 16 лет 7 месяцев
- Благодарил (а): 165 раз
- Поблагодарили: 20 раз
Re: Как получить переменную общего количества пользователей онлайн?
Тогда перефразирую вопрос. Мне нужна в шаблон переменная, содержащая количество пользователей (суммарное или просто гостей) онлайн для вывода ТОЛЬКО на главной странице. Как мне ее получить, чтобы не лезло никаких ошибок.
{{ TOTAL_USERS_ONLINE }} выводит полностью длинную фразу
"Всего 92 посетителя :: 8 зарегистрированных, 0 скрытых и 84 гостя (основано на активности пользователей за последние 5 минут)"
которая мне не нужна. Мне из нее нужно только "92".
{{ TOTAL_USERS_ONLINE }} выводит полностью длинную фразу
"Всего 92 посетителя :: 8 зарегистрированных, 0 скрытых и 84 гостя (основано на активности пользователей за последние 5 минут)"
которая мне не нужна. Мне из нее нужно только "92".
-
rxu
- phpBB Guru

- Сообщения: 17074
- Стаж: 19 лет 6 месяцев
- Откуда: Красноярск
- Благодарил (а): 567 раз
- Поблагодарили: 1750 раз
Re: Как получить переменную общего количества пользователей онлайн?
Вызов функции
obtain_users_online() (без параметров) дает массив со всей информацией, из него нужен элемент $online_users['total_online'].
