Телеграм: @bazarow_ru Почта: mihail@bazarow.ru

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

Просмотров: 8649

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

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

Что мы сделаем: При регистрации пользователя будем создавать раздел с его логином в инфоблоке. С помощью 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; 
		 } 
	} 
} 
?>

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

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

Максим 07.07.2017
Класс! работает!

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

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

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

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

Записная книжка разработчика

Примерно с 2013-го года пишу заметки по разработке сайтов на Битрикс.
Вы можете задавать уточняющие вопросы в комментариях- отвечаю или дополняю заметки по возможности.

Вывести компонент новостей на страницу в Битрикс Просмотров: 65106 Посмотрел Яндекс метрику на свой сайт, и решил что буду частенько писать сюда именно то, ч... Вывод элементов с помощью API битрикс Просмотров: 23961 Иногда, выводить элементы инфоблока с помощью компонентов, может оказаться избыточным. Нап... Минимальная сумма заказа в корзине и оформлении заказа в 1С-Битрикс Просмотров: 9779 В этой заметке добавим возможность установки минимальной суммы заказа, в новом шаблоне кор... Заполнить свойство инфоблока ценой из торгового каталога Просмотров: 5090 Если вам по какой-то причине нужно скопировать цену товара в свойство этого же инфоблока. ... Валидация пароля и подтверждения при регистрации в битрикс Просмотров: 15267 Встала задачка сделать валидацию пароля и его подтверждения в стандартной форме регистраци... Заполнить картинки разделов каталога из картинок товаров Просмотров: 944 Задача: в каталоге, разделы и подразделы выводятся в виде плитки над товарами, с картинкам... Создать pdf файл из элемента инфоблока, дать скачать пользователю, по... Просмотров: 5332 Задача: при каждом посещении статьи, на сайте, нужно создавать pdf файл с ее содержимым и ... Вывести все разделы в которых находится элемент инфоблока Просмотров: 14935 Если нужно вывести все разделы, со всей доступной информацией о них, внутри элемента инфоб... Свойство: привязка к Яндекс:Картам - вывести из нескольких элементов ... Просмотров: 18667 Предположим, что у вас есть инфоблок со свойством "Привязка к яндекс картам". В этом инфоб... Простые калькуляторы в карточке товара каталога на Битрикс Просмотров: 16174 На одном из создаваемых сайтов было необходимо сделать небольшой калькулятор и предварител... Отключить поиск по описаниям товаров в Битрикс Просмотров: 11844 Иногда, нужно отключить поиск по описаниям анонсов и детальному описанию товаров, при разр... Самодельная форма добавления элемента на API Битрикс Просмотров: 45276 Компонент iblock.element.add.form написан таким образом, что вы не сможете (не попотев изр... Создание мобильного приложения на cordova, для любого сайта. Просмотров: 15874 Если стоит задача разработки мобильного приложения для сайта, можете воспользоваться данно... XML в формате Commerce ML-2, города России и Мира, для выгрузки в инф... Просмотров: 6961 Подвернулась задачка, создать инфоблок для Битрикс, в котором будут просто города России и... Показать только один тип цены в каталоге Битрикс Просмотров: 14955 Достаточно часто, при создании сайта на битрикс, можно столкнуться с такой проблемой: на с... Получить множественное пользовательское поле раздела. Значения множес... Просмотров: 986 Задача: У разделов инфоблока есть множественное поле типа список. Зная ID раздела, нужно п... Установить остатки товара на складе из доступных остатков. Просмотров: 6229 Задача, заполнить остатки товаров, в 1С-Битрикс, из параметра "Доступное количество". Установка веб-сервера LAMP на ubuntu 20.04 LTS, оптимизированный под ... Просмотров: 12750 В последнее время, плотно пересел c macOS на ubuntu, и решил настроить себе полноценное ра... Хостинг панель BrainyCp: оптимизация под 1С-битрикс Просмотров: 8131 В этой видео-заметке расскажу как установить и оптимизировать панель управления сервером B... Скопировать номер телефона из поля пользователя в телефон для регистр... Просмотров: 2800 Задача, на конкретном сайте: раньше все пользователи регистрировались по стандартному режи...