Производство фотообоев в Новосибирске. Интернет магазин фотообоев. Изготовление - один день! Каталог 10 000 изображений!
5 Апрель 2013

Битрикс — не работает User::IsOnLine

posted in Bitrix |

Из за косяка в Битрикс API убил сегодня несколько часов своего драгоценного времени 🙁
И всё это на фоне «горящих» сроков по проекту 🙁

Итак, ТЗ:
Надыть сделать в Битрик форуме иконку присутствия пользователя на форуме.
C виду задача плёвая — кастомизируем шаблон на предмет текущей активности юзера и готово!

Первая проблема — нужная область вывода находится не в скопированном для кастомизации шаблоне, а в шаблоне «секретного» компонента самого битрикса.
/bitrix/components/forum.message.template/templates/.default/template.php
который копирую в свой дабы не затёрся при обновлении движка
/bitrix/components/forum.message.template/templates/portal/template.php

так же уже в шаблоне компонента заменяем шаблон в вызове метода forum.message.template
это …./forum.topic.read/.default комплексного компонента forum
(искать соответственно в шаблоне комплексного компонента)

Вторая проблема:
CUser::IsOnLine — нихера не работат! На что отдельное Спасибо разработчикам …

Чтобы фукнция заработала в init.d пихаем следующий код:

AddEventHandler('main', 'OnBeforeProlog', 'CustomSetLastActivityDate');
function CustomSetLastActivityDate() {
if($GLOBALS['USER']->IsAuthorized()) { CUser::SetLastActivityDate($GLOBALS['USER']->GetID()); }
}

Дальше вроде всё просто …

У нас один комментарий на запись “Битрикс — не работает User::IsOnLine”

Почему бы Вам не высказать своем мнение! Позвольте нам узнать, что Вы думаете...

  1. 1 On 15.04.2013, Василий said:

    Знакомая ситуация, вроде и платный движок, а ведет себя как груда кодов, безобразие и только.

Оставить комментарий