Стоит задача получить отдельную цифру пользователей онлайн для главной страницы, вместо длинного стринга, который штатно используется во 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
Что не так? Как сделать, чтобы всё было так?
Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.
Как получить переменную общего количества пользователей онлайн?
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ).
-
- phpBB 2.0.11
- Сообщения: 804
- Стаж: 13 лет 6 месяцев
- Откуда: Оттуда
- Благодарил (а): 51 раз
- Поблагодарили: 86 раз
Re: Как получить переменную общего количества пользователей онлайн?
Undefined variable $online_users
= Неопределенная переменная $online_users
Определи переменную, возможно глобально.
-
- phpBB Guru
- Сообщения: 16372
- Стаж: 17 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 521 раз
- Поблагодарили: 1745 раз
-
- phpBB 2.0.21
- Сообщения: 1322
- Стаж: 15 лет 1 месяц
- Благодарил (а): 159 раз
- Поблагодарили: 21 раз
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
- Сообщения: 16372
- Стаж: 17 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 521 раз
- Поблагодарили: 1745 раз
Re: Как получить переменную общего количества пользователей онлайн?
Там не определена переменная
$online_users
, так как она задается только в случае, если вызов page_header()
содержит второй параметр в виде true
. В search.php
такого не задано. Либо надо расширением задать true
для $display_online_list
.-
- phpBB 2.0.21
- Сообщения: 1322
- Стаж: 15 лет 1 месяц
- Благодарил (а): 159 раз
- Поблагодарили: 21 раз
Re: Как получить переменную общего количества пользователей онлайн?
Тогда перефразирую вопрос. Мне нужна в шаблон переменная, содержащая количество пользователей (суммарное или просто гостей) онлайн для вывода ТОЛЬКО на главной странице. Как мне ее получить, чтобы не лезло никаких ошибок.
{{ TOTAL_USERS_ONLINE }} выводит полностью длинную фразу
"Всего 92 посетителя :: 8 зарегистрированных, 0 скрытых и 84 гостя (основано на активности пользователей за последние 5 минут)"
которая мне не нужна. Мне из нее нужно только "92".
{{ TOTAL_USERS_ONLINE }} выводит полностью длинную фразу
"Всего 92 посетителя :: 8 зарегистрированных, 0 скрытых и 84 гостя (основано на активности пользователей за последние 5 минут)"
которая мне не нужна. Мне из нее нужно только "92".
-
- phpBB Guru
- Сообщения: 16372
- Стаж: 17 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 521 раз
- Поблагодарили: 1745 раз
Re: Как получить переменную общего количества пользователей онлайн?
Вызов функции
obtain_users_online()
(без параметров) дает массив со всей информацией, из него нужен элемент $online_users['total_online']
.