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

Класс 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-2020, «1С-Битрикс», 2020
Наверх