/
bitrix-dev
/
Starter-kit
Обзор
Документация
Войти
/
bitrix-dev
/
Starter-kit
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
main
local/php_interface/classes/Helpers/ReviewsHelper.php
82 строки
2 KB
Alexey Karizhenskiy
Автозагрузка классов через Composer
21 янв 2026, 21:49
21 янв 2026, 21:49
6a6c97c
Код
Авторство
О чём код?
<?php namespace Helpers; class ReviewsHelper { /** * @param int $elementId * @param int $userId * @return array[] * @throws \Exception */ public static function getReviewsProductUserId(int $elementId, int $userId = 0): array { if (!\CModule::IncludeModule("iblock")) { throw new \Exception("Не удалось подключить модуль инфоблоков"); } if (!\CModule::IncludeModule("catalog")) { throw new \Exception("Не удалось подключить модуль catalog"); } if (!\CModule::IncludeModule("sale")) { throw new \Exception("Не удалось подключить модуль sale"); } $arResult = [ 'ORDERS' => [], 'ITEMS' => [] ]; $iblockId = \MWI\Helper\Iblock::getIblockId('reviews_products'); if ($userId <=0) { global $USER; $userId = $USER->GetID(); } if ($userId > 0) { // Поиск оставленного отзыва $res = \CIBlockElement::GetList( ['ID' => 'DESC'], [ "IBLOCK_ID" => $iblockId, 'PROPERTY_PRODUCT_ID' => $elementId, 'PROPERTY_USER_ID' => $userId ], false, false,//["nPageSize" => 1], ['ID', 'ACTIVE', 'PROPERTY_ORDER_ID'] ); while ($arRes = $res->GetNext()) { $arResult['ITEMS'] = $arRes; } } // Поиск купленного товара $arProductIds = [$elementId]; $resCatalogSKU = \CCatalogSKU::getOffersList($elementId); if (!empty($resCatalogSKU[$elementId])) { foreach ($resCatalogSKU[$elementId] as $arOffer) { $arProductIds[] = $arOffer['ID']; } } $rsBaskets = \CSaleBasket::GetList( [], [ 'PRODUCT_ID' => $arProductIds, '!ORDER_ID' => false, '=USER_ID' => $userId ] ); while ($arBasket = $rsBaskets->Fetch()) { $arResult['ORDERS'] = $arBasket; } return $arResult; } }