Ниже рассматривается вопрос о том, как вывести значение количество просмотров элемента на детальной странице элемента в Битриксе. Вывод происходит на примере детальной страницы каталога, но, вероятно, подойдет и для прочих стандартных компонентов. В частности, компонента новостей.
В целом, задача вывода количества просмотров элемента решается в 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 или в некешируемую область. В случае, если детальная странице кешируется, конечно.