Документация для разработчиков

Класс CUserCounter

Класс предназначен для работы с счётчиками.

При работе со счётчиками учитывайте следующее:

  • Код счетчика может быть не более 50 символов;
  • Значение счетчика не более 18 цифр;
  • При вызове GetValue и GetValues с одинаковым значением переменных $user_id, $site_id запрос на выборку данных уйдет только при первом вызове за хит. В этом нет ничего страшного - так как методы инкремента, установки значений учитывают кэш и обновляют его по мере необходимости.

Как зафиксировать обновление счетчика

Для этого нужно весить обработчик события:

BX.addCustomEvent("onPullEvent", BX.delegate(function(module_id,command,params){
   if (module_id == "main" && command == 'user_counter' && params[BX.message('SITE_ID')] && params[BX.message('SITE_ID')]['__НАЗВАНИЕ_ВАШЕГО_СЧЕТЧИКА__'])
   {
      // вызвать код для обновления счетчика
      // в params[BX.message('SITE_ID')]['__НАЗВАНИЕ_ВАШЕГО_СЧЕТЧИКА__'] будет новое значение счетчика
   }
}, this));

Для мобильной версии:

BX.addCustomEvent("onPull", BX.delegate(function(data){
   if (data.module_id == "main" && data.command == 'user_counter' && data.params[BX.message('SITE_ID')] && data.params[BX.message('SITE_ID')]['__НАЗВАНИЕ_ВАШЕГО_СЧЕТЧИКА__'])
      {
      // вызвать код для обновления счетчика
      // в data.params[BX.message('SITE_ID')]['__НАЗВАНИЕ_ВАШЕГО_СЧЕТЧИКА__'] будет новое значение счетчика
   }
}, this));

Методы класса

Метод Описание С версии
GetValues Получение всех счетчиков пользователя. 11.5.2
GetValue Получение определенного счетчика пользователя. 11.5.2
Increment Увеличение счетчика на единицу. 11.5.2
Set Задаёт счетчику произвольное число. 11.5.2
Clear Обнуление счетчика. 11.5.2
ClearAll Обнуление всех счетчиков. 11.5.2
ClearByTag Обнуление всех счетчиков по тегу. 11.5.6
Decrement Уменьшение счетчика на нужное значение. 11.5.6
GetAllValues Возвращает все значения для всех доступных сайтов. 12.5.8


Пользовательские комментарии

Пользовательские комментарии не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.

Добавлять комментарии могут только зарегистрированные пользователи. Сообщения для просмотра появляются после модерации.
© «Битрикс», 2001-2018, «1С-Битрикс», 2018
Наверх