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

Класс 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
Наверх