Класс 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-2025, «1С-Битрикс», 2025