Счётчик просмотров элементов инфоблока в 1С-Битрикс

Вариант 1

В штатном варианте есть поле SHOW_COUNTER. Пример получения количества просмотров:

if (!CModule::IncludeModule("iblock")) die();
$res = CIBlockElement::GetByID("ID Элемента");
if($ar_res = $res->GetNext())
{
	echo "Просмотров: " . $ar_res['SHOW_COUNTER'];
}

 

Вариант 2

Добавить свойство в инфоблоке с типом «Число»

в шаблоне детально просмотра элемента (news.detail или catalog.element и т.д.) создать файл (если нет) result_modifier.php и добавить в файл:

//получаем текущее значение
$view = $arResult["PROPERTIES"][код свойства]["VALUE"];

$el = new CIBlockElement;

$prop = [];
//присваиваем
$prop[id свойства] = $view == "" ? 1 : $view + 1; /*проверка на пустое значение*/
//обновляем
$elementProp = [
 "PROPERTY_VALUES" => $prop
];
$el->Update($arResult["ID"], $elementProp);