Проверка групп пользователя и исключение разделов
Пример события для проверки групп пользователя с целью исключить разделы из общего доступа
Код события (скачать пример)
AddEventHandler("main", "OnBeforeProlog", "GinyInitSettings", 50);
function GinyInitSettings() {
// exclude sections from public access
if(CModule::IncludeModule("iblock")) {
global $HIDDEN_SECTIONS_IDS;
global $USER;
$UF_USER_GROUP = array(
1 => 22, // admins
9 => 23, // wholesalers
10 => 24, // УПРАВЛЯЮЩИЕ
);
$HIDDEN_SECTIONS_IDS = array();
if (!$USER->IsAuthorized()) {
$db_sid = CIBlockSection::GetList(Array("ID"=>"ASC"), Array('IBLOCK_ID'=>18, 'GLOBAL_ACTIVE'=>'Y', '!UF_USER_GROUP' => false ), false, array("ID"));
while($ar_sid = $db_sid->GetNext()){
$HIDDEN_SECTIONS_IDS[] = $ar_sid["ID"];
}
}else{
$userHiddenGroups = array();
$arUserGroups = CUser::GetUserGroup($USER->GetID());
foreach($UF_USER_GROUP as $tmpGroupID => $tmpGroupVALUE) {
if( !in_array($tmpGroupID, $arUserGroups )) {
$userHiddenGroups[] = $tmpGroupVALUE;
}
}
if(!empty($userHiddenGroups)){
$db_sid = CIBlockSection::GetList(Array("ID"=>"ASC"), Array('IBLOCK_ID'=>18, 'GLOBAL_ACTIVE'=>'Y', 'UF_USER_GROUP' => $userHiddenGroups ), false, array("ID"));
while($ar_sid = $db_sid->GetNext()){
$HIDDEN_SECTIONS_IDS[] = $ar_sid["ID"];
}
}
}
}
}
Ещё статьи:
26.05.2026
Фрилансерам при устройстве на работу на заметку
Увидел на сайте одной компании, там обязательное поле "Последнее место работы" и там нужно указать, что если Вы не работали или работали фрилансером, пожалуйста, укажите
15.05.2026
#1 Ник.ру миграция клиентов
Наблюдаю значительную миграцию моих клиентов с ник.ру
Моя клиентка получила на днях стоимость продления услуг и домена, после чего приняла решение перенести сайты с него. Один важный нюанс, клиент на ник.ру с 2010 года.
Ребята идут к успеху если клиент 16 лет пользовался услугами одного хостинга и решил уходить.
02.04.2026
Разговоры о фрилансе
Предыстория - автор вопроса хочет войти в IT сферу, я человеку начал подсказывать в комментариях на форуме. На примере вопросов и ответов в разговоре можно увидеть типовые ошибки и непонимание начинающего, и в будущем избежать повторения ошибок.

