Ограничить вывод товаров для групп пользователей

Ограничить вывод товаров для групп пользователей

21.10.2022
161
Как осуществить вывод товаров для определенной группы пользователей магазина?
//для разделов
                global $USER;
                $filter_opt = false;
                $check_prop = \COption::GetOptionString( "askaron.settings", "UF_OPT_PROPERTY");
                if ($USER->IsAuthorized()){
                    $currentGroups = CUser::GetUserGroup($USER->GetID());

                    $opt_group = \COption::GetOptionString( "askaron.settings", "UF_OPT_GROUPS");

                    foreach($currentGroups as $ck => $gid){
                        if(in_array($gid,$opt_group)){
                            $filter_opt = true;
                        }
                    }
                }

                if($filter_opt == true){
                    $arFilter[] = [
                        'LOGIC' => 'OR',
                        ['PROPERTY_'.$check_prop => 'Y'],
                        ['PROPERTY_'.$check_prop => false]
                    ];
                }else{
                    $arFilter[] = [
                        'LOGIC' => 'AND',
                        ['!PROPERTY_'.$check_prop => 'Y'],
                        ['=PROPERTY_'.$check_prop => false],
                    ];
                }               

//редирект из карточки товара
global $USER, $arrFilter;
$opt_group = \COption::GetOptionString( "askaron.settings", "UF_OPT_GROUPS");
$currentGroups = CUser::GetUserGroup($USER->GetID());

$filter_opt = false;
foreach($currentGroups as $ck => $gid){
    if(in_array($gid,$opt_group)){
        $filter_opt = true;
    }
}

if(!$filter_opt == true && $arResult['PROPERTIES']['OPT_VIEW']['VALUE'] == 'Y'){
    Bitrix\Iblock\Component\Tools::process404(
        'Не найден', //Сообщение
        true, // Нужно ли определять 404-ю константу
        true, // Устанавливать ли статус
        true, // Показывать ли 404-ю страницу
        false // Ссылка на отличную от стандартной 404-ю
    );
}