Конкретно нужно сделать следующее, в форме регистрации нужно добавить поле, в которое пользователь будет вводить компанию, в которой он работает и ниже он должен выбрать из списка должностей. И на основании введенной им информации, ему будут видны некоторые новости на сайте, а некоторые ему показываться не будут, некоторые могут править новости, а некоторые нет.
Т.е. получается пользователь при регистрации сам себе группу выбирает. Такое вообще можно на битриксе сделать? а самое главное целесообразно ли c точки зрения его архитектуры?
Да и сразу скажу, что ни один курс по битриксу вообще не проходил. Пока хочу выяснить, что на битриксе можно сделать, а чего не стоит делать, что решить тратить время на обучение или нет.
Сергей, не прошло и 3 лет...
и еще вопрос, там глобальный рефакторинг планируется, или тупо в файле, от которого зависит все, какой-нибудь возврат значения метода пропишут и на том успокоятся...
Элементарно делается, как через стандартные группы пользователей, так и через кастомный компонент, т.е. все в рамках стандарта разработчика.
естессно, имеется ввиду кол-во групп 10-20, если вам надо больше, то очевидно нужен другой подход
alex-1917, Там планируется возможность создания комнат-болталок с возможностью зарегистрировавшемуся пользователю, который создал комнату, дать возможность самому рулить правами в этой комнате.
А может создавать инфоблоки, в которых хранить права юзеров? т.е. свою систему аутентификации соорудить, рядом со штатной
kamnerobot, юзеры пусть создают элементы или разделы внутри одного инфоблока, инфоблок назовите Комнаты и вся логика сразу проявится перед вашими глазами)))
давать юзерам создавать инфоблоки - слишком жирно и накладно)))
вот пример, не помню где нарыл, из моей коллекции хаков для битрикса))
<?//on /bitrix/php_interface/init.php
AddEventHandler("main", "OnAfterUserAdd", Array("AddSect", "OnAfterUserAddHandler"));
class AddSect
{
function OnAfterUserAddHandler(&$arFields)
{
if (CModule::IncludeModule('iblock')) {
$newSect = new CIBlockSection;
$arAddSect = Array(
"ACTIVE" => "Y",
"IBLOCK_ID" => 999, //ID заранее созданного инфоблока, в котором разрешаем пользователям создавать разделы
"NAME" => $arFields["LOGIN"], //Раздел будет создан с названием = логин пользователя
"CODE" => $arFields["LOGIN"], //Символьный код раздела = логин пользователя
"SORT" => $SORT,
);
if ($ID > 0) {
$res = $newSect->Update($ID, $arAddSect);
} else {
$ID = $newSect->Add($arAddSect);
$res = ($ID > 0);
}
if (!$res)
echo $newSect->LAST_ERROR;
}
}
}
?>
kamnerobot, да чо в нем понимать?))) скопируй и вперед, кромсай свой сайт ))
по сути - этот код добавляет триггер (или закладку, хз как яснее, если служил сапером, то поймешь))):
как только юзер регится, создается секция (раздел) в инфоблоке, секция эта получает название как логин пользователя.
а вот дальше надо еще кодить - чтоб давать доступ на эту секцию юзеру с этим логином, тогда этот юзер сможет в этой секции создавать элементы - это в твоем понимании столы. секция - комната
элементы секции - столы
Только неясно. с кем он там может (или с кем разрешено) болтать и болталку тоже чем-то реализовывать...
Я уже примерно понял, что нужно по итогам, это по сложности как компонент, можно как компонент и написать. Ну т.е. подсказки на этом закончились, удачи, подсказок нет, но вы там держитесь и всего вам хорошего)))