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

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

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

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

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

Что мы сделаем: При регистрации пользователя будем создавать раздел с его логином в инфоблоке. С помощью 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-го года пишу заметки по разработке сайтов на Битрикс.
Вы можете задавать уточняющие вопросы в комментариях- отвечаю или дополняю заметки по возможности.

Если товар в корзине, поменять кнопку на "В корзине" в новом шаблоне ... Просмотров: 1020 Ранее я уже делал заметку на эту тему. Тогда, мы меняли значение input-а при добавлении то... Вывести все товары, с постраничной навигацией, из всех разделов инфоб... Просмотров: 28362 По сути, эта заметка, небольшой лайфхак. Достаточно часто нужно, в корне каталога, в ТОП-е... Спойлер в списке новостей Битрикс Просмотров: 11255 Иногда нужно сделать спойлеры в копонентах Битрикс, в основном конечно, имеет смысл при оч... Вывести свойство привязка к Яндекс Картам в Битрикс Просмотров: 18143 Часто бывает нужно вывести свойство привязка к Яндекс карте в детальном описании элемента... Настройка обмена между 1С:Предприятие и магазином на "1С-Битрикс24: И... Просмотров: 2457 В этой заметке расскажу как настроить синхронизацию между 1С:предприятие и "1С-Битрикс24: ... Моментальная фильтрация на AJAX в умном фильтре 1С-Битрикс Просмотров: 24578 При штатной установке, интернет-магазина на 1С Битрикс, умный фильтр по товарам, показывае... Вывести разделы инфоблока в которых находится элемент Битрикс Просмотров: 15983 Если нужно в карточке товара или новости, вывести структуру разделов в котором находится э... Информация о заказах и содержимое корзины текущего пользователя. Просмотров: 11731 В процессе разработки сайта могут понадобиться рецепты приведенные ниже. Использовать можн... Базовая защита "Битрикс виртуальная машина" от DDoS атак. Просмотров: 5242 Данный способ защиты не панацея, и скорее всего не спасет от профессиональной DDoS атаки, ... Проверка на наличие элементов, текущего пользователя, в заданном инфо... Просмотров: 5477 Если стоит задача, определить наличие элементов созданных пользователем на сайте. Можно во... Умный фильтр на главной странице Битрикс Просмотров: 20823 Редкая но востребованная задачка- это вывести компонент "умный фильтр" на главную страницу... Вывести артикул в печатную форму бланка заказа Просмотров: 350 Задача: в печатную форму бланка заказа добавить артикулы товаров и данные о пользователе. ... Установить остатки товара на складе из доступных остатков. Просмотров: 4844 Задача, заполнить остатки товаров, в 1С-Битрикс, из параметра "Доступное количество". Вывести свойство отдельно ото всех или исключить из всех Просмотров: 6987 Иногда, на сайте, под управлением 1С-Битрикс, нужно вывести какое-то конкретное свойство о... Заполнить поля пользователя из свойства заказа, на примере ФИО Просмотров: 1170 При создании заказа покупатель заполняет поле "ФИО". Необходимо скопировать эти данные в п... Дополнительные параметры в меню Битрикс Просмотров: 19298 Иногда нужно присвоить какой-то функционал к конкретному пункту меню в битрикс. Например о... Адаптивное гамбургер меню для битрикс Просмотров: 14424 Заметка коротенькая, но решил оставить ее - так как самому часто нужно нечто подобное. В а... Добавить свойство в административную форму заказа Просмотров: 2770 Задача, кастомизировать административную форму заказа: добавить свойство заказа в шапку фо... Умный фильтр во всплывающей панели на мобильных. Просмотров: 1413 Шаблон умного фильтра в Битриксе достаточно сложный, с точки зрения верстки и не очень кра... Показать пользователю накопительную скидку за все сделанные заказы, и... Просмотров: 1736 Задача: показать, текущему авторизованному, пользователю сумму всех выполненных заказов и ...