Рейтинг товара, новостей

Рейтинг реализуется через компонент iblock.vote (входит в состав Битрикс).

$APPLICATION->IncludeComponent(
    'bitrix:iblock.vote',
    'flat', // шаблон рейтинга в виде звёздочек
    array(
        'IBLOCK_TYPE' => 'pages',
        'IBLOCK_ID' => '14',
        'ELEMENT_ID' => $id,
        'CACHE_TYPE' => 'A',
        'CACHE_TIME' => '3600',
        'SHOW_RATING' => 'Y', // показывать числовое значение рейтинга (например "3.44")
    )
);

Компонент рейтинга входит в состав компонентов bitrix:news и bitrix:catalog.

# bitrix:news
$APPLICATION->IncludeComponent('bitrix:news', '', array(
    // …
    'USE_RATING' => 'Y',
);

# bitrix:catalog
$APPLICATION->IncludeComponent('bitrix:catalog', '', array(
    // …
    'DETAIL_USE_VOTE_RATING' => 'Y',
);

Bitrix. Включить рейтинг товара

Выводить элементы по рейтингу

Значение рейтинга сохраняется в отдельном свойстве инфоблока. Чтобы выводить элементы по рейтингу, для сортировки надо указать нужное свойство (по умолчанию называется «rating»).

# bitrix:news
$APPLICATION->IncludeComponent('bitrix:news', '',
    array(
        // …
        'SORT_BY1' => 'PROPERTY_rating',
        'SORT_ORDER1' => 'DESC',
    )
);

# bitrix:catalog
$APPLICATION->IncludeComponent('bitrix:catalog', '',
    array(
        // …
        'ELEMENT_SORT_FIELD' => 'PROPERTY_rating',
        'ELEMENT_SORT_ORDER' => 'desc',
    )
);

Изменить максимальный бал в рейтинге

По умолчанию можно давать оценку до 5 баллов. Указать максимальное значение бала можно через параметр MAX_VOTE.

$APPLICATION->IncludeComponent('bitrix:iblock.vote', 'flat',
    array(
        // …
        'MAX_VOTE' => '10',
    )
);

Bitrix. Рейтинг

Сбросить значение рейтинга

Результаты рейтинга хранятся на странице элемента инфоблока. Чтобы сбросить рейтинг, достаточно свойствам указать значение «0».

Bitrix. Рейтинг