Счётчик просмотров элементов инфоблока в 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);