Для этого в файле template.php компонента детальной карточки добавим следующий код:
<? if (is_array($arResult['PROPERTIES']['REV']['VALUE'])): ?>
<div class="title title-simple">Отзывы</div>
<div class="row">
<?
foreach ($arResult['PROPERTIES']['REV']['VALUE'] as $rev) {
$arIBlockElement = GetIBlockElement($rev, 'content');
$dateActive = ($arIBlockElement["DATE_ACTIVE_FROM"]) ? $arIBlockElement["DATE_ACTIVE_FROM"] : $arIBlockElement["TIMESTAMP_X"];
$dateActive = explode(' ', $dateActive);
$dateActive = $dateActive[0];
$dateActive = FormatDate("d F Y", MakeTimeStamp($dateActive));
?>
<div class="col-md-6">
<div class="product-det-review">
<div class="row"><b class="col-lg"><? echo $arIBlockElement["NAME"] ?></b>
<? if ($arIBlockElement["PROPERTIES"]["rating"]["VALUE"]): ?>
<div class="col-lg-auto">
<div class="rating-mini">
<span<? if ($arIBlockElement["PROPERTIES"]["rating"]["VALUE"] >= 1): ?> class="active"<? endif; ?>></span>
<span<? if ($arIBlockElement["PROPERTIES"]["rating"]["VALUE"] >= 2): ?> class="active"<? endif; ?>></span>
<span<? if ($arIBlockElement["PROPERTIES"]["rating"]["VALUE"] >= 3): ?> class="active"<? endif; ?>></span>
<span<? if ($arIBlockElement["PROPERTIES"]["rating"]["VALUE"] >= 4): ?> class="active"<? endif; ?>></span>
<span<? if ($arIBlockElement["PROPERTIES"]["rating"]["VALUE"] == 5): ?> class="active"<? endif; ?>></span>
</div>
</div>
<? endif; ?>
</div>
<p><? echo $arIBlockElement["PREVIEW_TEXT"]; ?></p>
<span><? echo $dateActive; ?></span>
</div>
</div>
<?
}
?>
</div>
<? endif; ?>
Здесь происходит вывод множественного свойства "привязка к элементам", где связанные элементы - отзывы текущего товара. Получаем для каждого отзыва свойство рейтинг типа Строка, в котором содержится оценка в формате числа от 1 до 5. И на основании этой цифры выводим нужное количество звёзд.
В этой статье рассматривается, как с помощью компонента iblock.element.add.form можно добавить и связать комментарий со статьёй/новостью.