Цитата |
---|
У меня есть например 3 группы новостей. (Прайс-лист, Новинки нагалога, Новости сайта).
Они все находятся как категории в одном инфоблоке Новости. |
Цитата |
---|
YakDm пишет:
Если они действительно лежать в одном ИБ, то решение такое, а если у вас 3 ИБ одного типа, то можно немного проще |
Код |
---|
global $USER; $arGroups = $USER->GetUserGroupArray(); |
Код |
---|
Array ( [0] => 2 //Неавторизованные пользователи [1] => 1 //Администраторы (всемогущ :) ) [2] => 9 //Сотрудники техподдержки ) |
Код |
---|
// Если пользователь в группе партнеров, допустим ИД группы 12 if (in_array(12, $arGroups)) { $APPLICATION->IncludeComponent( "bitrix:news.list", //нужный омпонент '.default', //нужный шаблон array( //Массив нужных параметров, в этом случае //здесь должен быть обязательно //"IBLOCK_ID" => ID_ИБ_с_новостями_для_партнеров ), ); } // Если пользователь в группе диллеров, допустим ИД группы 13 elseif (in_array(13, $arGroups)) { // то же самое, но с другими параметрами вызова компонента //"IBLOCK_ID" => ID_ИБ_с_новостями_для_диллеров } // Для всех остальных else{ // то же самое, но с другими параметрами вызова компонента //"IBLOCK_ID" => ID_ИБ_с_новостями_для_юзеров } |
Код |
---|
//WHERE $arFilter = array ( "IBLOCK_ID" => $arResult["ID"], "IBLOCK_LID" => SITE_ID, "ACTIVE" => "Y", "ACTIVE_DATE" => "Y", "CHECK_PERMISSIONS" => "Y", ); |
Код |
---|
// Если пользователь в группе партнеров, допустим ИД группы 12 if (in_array(12, $arGroups)) { $arFilter["SECTION_ID"] = "1"; // Секция ИБ новостей с новостями для партнеров } // Если пользователь в группе диллеров, допустим ИД группы 13 elseif (in_array(13, $arGroups)) { $arFilter["SECTION_ID"] = "2"; // Секция ИБ новостей с новостями для диллеров } // Для всех остальных else{ $arFilter["SECTION_ID"] = "3"; // Секция ИБ новостей с новостями для всех остальных } |