Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!
И, что самое приятное - нет никакой нужды реализовывать вручную фильтрацию элементов для пользователя. Стандартный GetList с фильтром CHECK_PERMISSIONS = Y сделает то, что нужно легко и быстро!
Спасибо за ответ! Да, сложновато.
Кратко ознакомился с предложенным Вами вариантом, - довольно интересно. Попробую реализовать. А пока, я решил вопрос присвоения так:
Создал множественное свойство привязки к пользователю в инфоблоке новости.
Этому свойству в каждой конкретной новости/элементе - присваиваю определенных пользователей.
Вывожу в в компонент - эементы каталога, где ставлю фильтр:
В результате определенному пользователю показываются только элементы присвоенные ему.
Ну а закрытый раздел уже ставлю на группу пользователей: группа1, группа2.
Получается что неавторизованные видят одни новости, а авторизованные другие в своем личном кабинете.
Ваш комментарий к ответу:
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Кратко ознакомился с предложенным Вами вариантом, - довольно интересно. Попробую реализовать. А пока, я решил вопрос присвоения так:
Создал множественное свойство привязки к пользователю в инфоблоке новости.
Этому свойству в каждой конкретной новости/элементе - присваиваю определенных пользователей.
Вывожу в в компонент - эементы каталога, где ставлю фильтр:
$arrFilter = array("PROPERTY_USEREL" => $USER->GetID(),);
Весь код выглядит так:
<?
$arrFilter = array("PROPERTY_USEREL" => $USER->GetID(),);
$APPLICATION->IncludeComponent(
"bitrix:catalog.section",
".default",
array(
"ACTION_VARIABLE" => "action",
"ADD_PICT_PROP" => "-",
"ADD_PROPERTIES_TO_BASKET" => "Y",
"ADD_SECTIONS_CHAIN" => "N",
"AJAX_MODE" => "N",
"AJAX_OPTION_ADDITIONAL" => "",
"AJAX_OPTION_HISTORY" => "N",
"AJAX_OPTION_JUMP" => "N",
"AJAX_OPTION_STYLE" => "Y",
"BACKGROUND_IMAGE" => "-",
"BASKET_URL" => "/personal/basket.php",
"BROWSER_TITLE" => "-",
"CACHE_FILTER" => "Y",
"CACHE_GROUPS" => "Y",
"CACHE_TIME" => "36000000",
"CACHE_TYPE" => "A",
"COMPONENT_TEMPLATE" => ".default",
"DETAIL_URL" => "",
"DISABLE_INIT_JS_IN_COMPONENT" => "N",
"DISPLAY_BOTTOM_PAGER" => "Y",
"DISPLAY_TOP_PAGER" => "N",
"ELEMENT_SORT_FIELD" => "sort",
"ELEMENT_SORT_FIELD2" => "id",
"ELEMENT_SORT_ORDER" => "asc",
"ELEMENT_SORT_ORDER2" => "desc",
"FILTER_NAME" => "arrFilter",
"IBLOCK_ID" => "22",
"IBLOCK_TYPE" => "news",
"INCLUDE_SUBSECTIONS" => "Y",
"LABEL_PROP" => "-",
"LINE_ELEMENT_COUNT" => "3",
"MESSAGE_404" => "",
"MESS_BTN_ADD_TO_BASKET" => "В корзину",
"MESS_BTN_BUY" => "Купить",
"MESS_BTN_DETAIL" => "Подробнее",
"MESS_BTN_SUBSCRIBE" => "Подписаться",
"MESS_NOT_AVAILABLE" => "Нет в наличии",
"META_DESCRIPTION" => "-",
"META_KEYWORDS" => "-",
"OFFERS_LIMIT" => "5",
"PAGER_BASE_LINK_ENABLE" => "N",
"PAGER_DESC_NUMBERING" => "N",
"PAGER_DESC_NUMBERING_CACHE_TIME" => "36000",
"PAGER_SHOW_ALL" => "N",
"PAGER_SHOW_ALWAYS" => "N",
"PAGER_TEMPLATE" => ".default",
"PAGER_TITLE" => "Товары",
"PAGE_ELEMENT_COUNT" => "30",
"PARTIAL_PRODUCT_PROPERTIES" => "N",
"PRICE_CODE" => array(
),
"PRICE_VAT_INCLUDE" => "Y",
"PRODUCT_ID_VARIABLE" => "id",
"PRODUCT_PROPERTIES" => array(
),
"PRODUCT_PROPS_VARIABLE" => "prop",
"PRODUCT_QUANTITY_VARIABLE" => "",
"PROPERTY_CODE" => array(
0 => "USEREL",
1 => "",
),
"SECTION_CODE" => "",
"SECTION_ID" => $_REQUEST["SECTION_ID"],
"SECTION_ID_VARIABLE" => "SECTION_ID",
"SECTION_URL" => "",
"SECTION_USER_FIELDS" => array(
0 => "",
1 => "",
),
"SEF_MODE" => "N",
"SET_BROWSER_TITLE" => "Y",
"SET_LAST_MODIFIED" => "N",
"SET_META_DESCRIPTION" => "Y",
"SET_META_KEYWORDS" => "Y",
"SET_STATUS_404" => "N",
"SET_TITLE" => "Y",
"SHOW_404" => "N",
"SHOW_ALL_WO_SECTION" => "Y",
"SHOW_PRICE_COUNT" => "1",
"TEMPLATE_THEME" => "blue",
"USE_MAIN_ELEMENT_SECTION" => "N",
"USE_PRICE_COUNT" => "N",
"USE_PRODUCT_QUANTITY" => "N"
),
false
);?>
-----------------------
В результате определенному пользователю показываются только элементы присвоенные ему.
Ну а закрытый раздел уже ставлю на группу пользователей: группа1, группа2.
Получается что неавторизованные видят одни новости, а авторизованные другие в своем личном кабинете.