Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Автоматическое создание элемента инфоблока для каждого нового зарегистрированного пользователя

00 голосов
6
Здравствуйте!

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

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

Как это сделать?

И сразу не понятно как вычислять id этого элемента инфоблока персонально для этого пользователя, чтобы формировать ссылку на эту страничку.
спросил 20 Ноя, 13 от doctor2 (180 баллов)

6 Ответы

00 голосов
Как вариант, если вы пошли через инфоблоки делать.

Создаем в этом инфоблоке свойства "Привязка к пользователю". При регистрации (API по событиям главного модуля) создаем элемент и заполняем поле элемента "Привязка к пользователю" ID зарегестрированного пользователя. Здесь будут неудобствас существующими пользователями. Придется сначала циклом пройтись по ним и создавать элементы.

 

Можно использовать пользовательские поля для пользователей! Тогда не нужны будут ни какие инфоблоки и события.  Выводим дополнительное поле для пользователей, а для группы администраторов выводим с возможностью изменения. (В принципе можно обойтись и стандартными полями у пользователей)
ответил 28 Ноя, 13 от аноним
00 голосов
В инфоблоке создайте свойство типа "Привязка к пользователю".
Используйте событие OnAfterUserRegister() и после успешной регистрации пользователя создавайте новый элемент в инфоблоке, указывая в свойстве ID пользователя.
ответил 09 Янв, 14 от smileplz (8,020 баллов)
00 голосов
А почему бы не использовать готовое поле CREATED_BY?
ответил 26 Апр, 14 от Eddie (2,060 баллов)
00 голосов
Все равно не понятно как это сделать.

Цитата
Max Pryazhevsky пишет:
Используйте событие OnAfterUserRegister()


Где его использовать? В каком месте/скрипте?
ответил 21 Авг, 14 от doctor2 (180 баллов)
00 голосов
Использовать в /bitrix/php_interface/init.php. Документацию читали?
OnAfterUserRegister()

Создание элемента инфоблока: CIBlockElement::Add()
ответил 27 Дек, 14 от smileplz (8,020 баллов)
00 голосов
Кажется начинаю понимать, а как в /bitrix/php_interface/init.php уловить, с каким сайтом работает текущий пользователь?

В какой переменной id сайта лежит? Или может еще какой-то признак есть?
ответил 15 Апр, 15 от doctor2 (180 баллов)

Похожие вопросы

0 голосов
7 ответов
0 голосов
4 ответов
0 голосов
3 ответов