Создание раздела инфоблока при регистрации пользователя в Битрикс

Просмотров: 3974 | Комментариев: 4

Например вам нужно выводить информацию исключительно для определенного пользователя. Само собой, это можно сделать с помощью физической структуры и прав пользователей. Но, намного проще, для контент менеджера и последующей структуризации- это создавать раздел в заранее созданном инфоблоке.

Что мы сделаем: При регистрации пользователя будем создавать раздел с его логином в инфоблоке. С помощью API методов 1С-Битрикс "OnAfterUserAdd" и "CIBlockSection"

Для этого
— Создаем новый инфоблок на сайте
— в файл /bitrix/php_interface/init.php вставляем код

<?
// Регистрируем обработчик AddSectionInBlock
AddEventHandler("main", "OnAfterUserAdd", Array("AddSectionInBlock", "OnAfterUserAddHandler"));
class AddSectionInBlock
{
    // создаем обработчик события "OnAfterUserAdd"
    function OnAfterUserAddHandler(&$arFields)
    {
        if (CModule::IncludeModule('iblock')) {
            $bs = new CIBlockSection;
            $arFieldsi = Array(
                "ACTIVE" => "Y", 
                "IBLOCK_ID" => 10, //ID инфоблока в котором создастся раздел
                "NAME" => $arFields["LOGIN"], //Название раздела с логином пользователя
                "CODE" => $arFields["LOGIN"], //Символьный код раздела с логином пользователя
                "SORT" => $SORT,
            );

            if ($ID > 0) {
                $res = $bs->Update($ID, $arFieldsi);
            } else {
                $ID = $bs->Add($arFieldsi);
                $res = ($ID > 0);
            }

            if (!$res)
                echo $bs->LAST_ERROR;
        }
    }
}
?>

Вот и все. Теперь, при успешной регистрации пользователя будет создаваться раздел в инфоблоке, названием которого будет логин пользователя.

Способы применения данного функционала достаточно обширны. Как простой пример: Это фильтровать разделы в кабинете пользователя, куда вы (как администратор) будете складывать элементы, доступные только этому пользователю.

Необходимо войти что бы оставить комментарий:
Максим
Класс! работает!

Вот только как сделать чтоб символьный код был в виде: "user_ID" (ID-идентификационный номер пользователя)
Сам ID вывести то я понял как а вот сделать приписку в виде user_ не знаю как.
В программировании не силен. Помогите
Максим
Цитата
Максим пишет:
Класс! работает!

Вот только как сделать чтоб символьный код был в виде: "user_ID" (ID-идентификационный номер пользователя)
Сам ID вывести то я понял как а вот сделать приписку в виде user_ не знаю как.
В программировании не силен. Помогите
спасибо, уже не актуально
Максим
Все еще учусь.

А как в созданном разделе создать еще один раздел и элемент?
А то как создать элемент я разобрался, а вот как его в раздел который создается положить не знаю.  
Илья Мельников
Цитата
Максим пишет:
Все еще учусь.

А как в созданном разделе создать еще один раздел и элемент?
А то как создать элемент я разобрался, а вот как его в раздел который создается положить не знаю.
Поделитесь как создать при регистрации элемент в определенном разделе с привязкой к ID пользователя?
Решения на битрикс

Магазин, на базе готового решения от 35 900 рублей / от 3 до 5 дней

В стоимость входит: Подбор решения из более 200-от готовых сайтов, под Вашу задачу. Полный запуск сайта на сервере или хостинге, со всеми настройками. Лицензия Битрикс "Малый бизнес". Базовая СЕО оптимизация. Инструкции по работе с сайтом. Небольшие доработки под задачу.
Интернет-магазин от 210 000 рублей / от 5-ти недель Сайт компании от 90 000 рублей / от 4-х недель Инфоресурс от 90 000 рублей / от 5-ти недель Адаптивный сайт от 40 000 рублей / от 2-х недель Персональный сайт от 60 000 рублей / от 3-х недель Мобильное приложение от 180 000 рублей / от 4-х недель
Узнать точную стоимость разработки: Для этого, достаточно, как можно подробнее, заполнить вот этот опросник: Скачать опросник и выслать на электронную почту mihail@bazarow.ru.
Смогу задать уточняющие вопросы и оценить проект по срокам и стоимости.
Поделиться заметкой: Спасибо, это помогает развивать сайт:

Авторизация

На сайте работает вход через социальные сети. Просто, выберите наиболее удобную сеть и авторизация произойдет автоматически:
Проходя авторизацию, Вы безоговорочно принимаете условия политики конфеденциальности