Количество просмотров элемента инфоблока в битрикс

В сегодняшней статье я опишу, как вывести количество просмотров элемента инфоблока двумя способами:

  1. Добавить и вывести поле количество просмотров элемента на сайте CMS 1c-битрикс.
  2. Вывести средствами api битирикс сколько раз был просмотрен элемент.

 

1.Задача: добавить и вывести поле количество просмотров элемента на сайте CMS 1c-битрикс.

В стандартном функционале bitrix включена это возможность. Рассмотрим на примере комплексного каталога. В настройках компонента в визуальном редакторе отмечаем галочку – использовать счетчик просмотров.

количество просмотров элемента

Если посмотреть код  вызова этого компонента, то найдем такую строчку:


"USE_ELEMENT_COUNTER" => "Y",

Вот она то и будет отвечать за то, что у нас происходит подсчет просмотров элементов.

2. Задача: вывести средствами api битирикс сколько раз был просмотрен элемент.

В API 1c-битрикс предусмотрены три поля связанные с нашим вопросом:

  1. show_counter – количество уникальных просмотров в одной сессии;
  2. show_counter_start — время первого показа элемента ;
  3. shows –количество показов,  поделенное на продолжительность показа.

Поле  show_counter    учитывается функцией CIBlockElement::CounterInc.

Пример как вывести с помощью API 1с- битрикс количество просмотров элемента:

<?
if(CModule::IncludeModule('iblock')
{
$arFilter = Array("IBLOCK_ID"=>3);
$res = CIBlockElement::GetList(Array("SORT"=>"ASC"), $arFilter, false, false, Array("ID","NAME", "SHOW_COUNTER"));
while($ar_fields = $res->GetNext())
{
echo "У элемента ".$ar_fields[NAME]." ".$ar_fields[SHOW_COUNTER]." показов<br>";}
}
?>

В результате работы функции  CIBlockElement::GetList, мы получим все элементы из 3-его инфоблока отсортированные по возрастанию. В результирующем массиве элементы имеют только 3 свойства: «ID», «NAME», «SHOW_COUNTER». Если нам потребуются еще какие-то свойства, то добавим его в массив Array(«ID», «NAME», «SHOW_COUNTER»).

Начинающим программистам и уже имеющим опыт советую прочитать Битрикс обучение.

ПоделитьсяShare on Facebook0Share on VKShare on Google+0Tweet about this on TwitterShare on LinkedIn0Pin on Pinterest0

Добавить комментарий