Добрый день!
Столкнулся с такой проблемой.
Есть каталог товаров. В нем присутствуют скрытые бренды. То есть бренды которые могут просматривать только пользователи, которые принадлежат группе. В инфоблоке бренда есть свойство, которое указывает что бренд принадлежит к скрытой группе брендов.
Я ставлю компонент bitrix:catalog на страницу. Ставлю перед компонентом фильтр отбора брендов. Вид фильтра такой:
$User = in_array(12, $USER->GetUserGroupArray());//пользователи для закрытых групп брендов находятся в группе пользователей -12
$IBLOCK_ID = 26;
$arSelect = Array(
"ID",
"IBLOCK_ID",
"NAME",
"DETAIL_PICTURE",
"PREVIEW_TEXT",
"DATE_ACTIVE_FROM",
);
$arFilter = Array(
"IBLOCK_ID" => $IBLOCK_ID,
"ACTIVE_DATE" => "Y",
"ACTIVE" => "Y",
);
if (!empty($User)) {
$arFilter["!PROPERTY_UF_SHOW_TYPE"] = 1392;//свойство "Снят с продажи"
}
else {
$arFilter["!PROPERTY_UF_SHOW_TYPE"] = array(
1391,//свойство "Закрытый бренд"
1392//свойство "Снят с продажи"
);
}
$arSort = Array("SORT" => "ASC",);
$res = CIBlockElement::GetList($arSort, $arFilter, false, false, $arSelect);
while ($ob = $res->GetNextElement()) {
$arFields = $ob->GetFields();
$arBrands[] = $arFields;
}
foreach ($arBrands as $brand){
$arBrand[]=$brand['ID'];
}
global $arCatalogFilter;
$arCatalogFilter = array(
'PROPERTY_66' => $arBrand,
);
В каталоге все нормально отфильтровалось, и закрытые бренды, а так же бренды снятые с продажи, не выводятся. Но в умном фильтре они присутствуют и указывают количество скрытых брендов.
При выборе в фильтре скрытого бренда, выбор оказывает 0 элементов и если нажать кнопку Показать, соответственно показывает что элементов не выбрано.
Проблема в том что я не могу понять как мне сделать, что бы в умном фильтре так же не отображались скрытые бренды.
Столкнулся с такой проблемой.
Есть каталог товаров. В нем присутствуют скрытые бренды. То есть бренды которые могут просматривать только пользователи, которые принадлежат группе. В инфоблоке бренда есть свойство, которое указывает что бренд принадлежит к скрытой группе брендов.
Я ставлю компонент bitrix:catalog на страницу. Ставлю перед компонентом фильтр отбора брендов. Вид фильтра такой:
$User = in_array(12, $USER->GetUserGroupArray());//пользователи для закрытых групп брендов находятся в группе пользователей -12
$IBLOCK_ID = 26;
$arSelect = Array(
"ID",
"IBLOCK_ID",
"NAME",
"DETAIL_PICTURE",
"PREVIEW_TEXT",
"DATE_ACTIVE_FROM",
);
$arFilter = Array(
"IBLOCK_ID" => $IBLOCK_ID,
"ACTIVE_DATE" => "Y",
"ACTIVE" => "Y",
);
if (!empty($User)) {
$arFilter["!PROPERTY_UF_SHOW_TYPE"] = 1392;//свойство "Снят с продажи"
}
else {
$arFilter["!PROPERTY_UF_SHOW_TYPE"] = array(
1391,//свойство "Закрытый бренд"
1392//свойство "Снят с продажи"
);
}
$arSort = Array("SORT" => "ASC",);
$res = CIBlockElement::GetList($arSort, $arFilter, false, false, $arSelect);
while ($ob = $res->GetNextElement()) {
$arFields = $ob->GetFields();
$arBrands[] = $arFields;
}
foreach ($arBrands as $brand){
$arBrand[]=$brand['ID'];
}
global $arCatalogFilter;
$arCatalogFilter = array(
'PROPERTY_66' => $arBrand,
);
В каталоге все нормально отфильтровалось, и закрытые бренды, а так же бренды снятые с продажи, не выводятся. Но в умном фильтре они присутствуют и указывают количество скрытых брендов.
При выборе в фильтре скрытого бренда, выбор оказывает 0 элементов и если нажать кнопку Показать, соответственно показывает что элементов не выбрано.
Проблема в том что я не могу понять как мне сделать, что бы в умном фильтре так же не отображались скрытые бренды.