Вывод количества просмотра элемента на детальной странице в Битриксе

Ниже рассматривается вопрос о том, как вывести значение количество просмотров элемента на детальной странице элемента в Битриксе. Вывод происходит на примере детальной страницы каталога, но, вероятно, подойдет и для прочих стандартных компонентов. В частности, компонента новостей.

В целом, задача вывода количества просмотров элемента решается в bitrix достаточно просто, без особых «танцев с бубном». Не сложнее, чем вывод любого другого свойства каталога на карточке товара.  Главное, чтобы был включен счетчик просмотров в параметрах компонента (Также, можно проверить кол-во просмотров в таблице b_iblock_element в столбце
SHOW_COUNTER). Дальше уже стандартная процедура вывода поля.

Php-код, получающий значение поля SHOW_COUNTER для данного элемента:

<?
$resElement = CIBlockElement::GetByID($arResult['ID'])->GetNext();
?>

HTML-вывод на карточке:

<div class="counter-from">
За последние 3 месяца этим товаром интересовались
<b><?=$resElement["SHOW_COUNTER"];?></b> 
покупателя(-ей)
</div>

$resElement[«SHOW_COUNTER»]; — это и есть вывод количества просмотров. Также стоит заметить, что лучше, конечно выносить текст в языковые файлы для данного компонента (В папку lang). Это, например, решит возможную проблему конфликта кодировок. Впрочем, это тема отдельной статьи.

CSS-для блока (В данном примере — это простой светло-серый блок):

.counter-from {
	text-align: center;
    padding: 5px 10px;
    background: #e8e8e8;
    border: darkgray;
    border-radius: 5px;
	margin-bottom: 5px;
}

CSS можно закинуть либо в стили шаблона компонента, либо в стили шаблона сайта. Конечно, лучше первый вариант.

В целом всё, на выходе будет что-то подобное:

Наверное, в заключение, стоит заметить, что следует выносить блок со счетчиком в component epilog или в некешируемую область. В случае, если детальная странице кешируется, конечно.