четверг, 28 апреля 2011 г.

Кнопочка выбора пользователя из структуры в своей форме

Сегодня мне пришлось создавать в Битриксе новый инфоблок. Одно из полей инфоблока нужно было привязать к пользователю. Я выбрала тип поля – привязка к пользователю. Но когда я разместила на странице компонент – добавление элемента в этот инфоблок, я обнаружила, что поле ввода пользователя – это обычное текстовое поле, а я хотела, чтобы возле этого поля была кнопочка-ссылочка «Добавить из структуры», как это реализовано в добавлении задачи пользователю в Корпоративном портале. Я не знаю, может быть, до меня этот велосипед уже 5 раз изобрели, но я проблему решила так: скопировала стандартный шаблон формы добавления элемента в инфоблок, нашла там case "S", этот case был пустой, и я дописала следующее:



case "S":
if ($arResult["PROPERTY_LIST_FULL"][$propertyID]["USER_TYPE"]=="UserID"){

$GLOBALS["APPLICATION"]->IncludeComponent('bitrix:intranet.user.selector', '', array(
                'INPUT_NAME' => "PROPERTY[".$propertyID."][".$i."]",
                'INPUT_NAME_STRING' => "PROPERTY[".$propertyID."][".$i."]_string",
                'INPUT_NAME_SUSPICIOUS' => "PROPERTY[".$propertyID."][".$i."]_suspicious",
                'TEXTAREA_MIN_HEIGHT' => 30,
                'TEXTAREA_MAX_HEIGHT' => 60,
                'INPUT_VALUE_STRING' => implode("\n", $arUsers),
                'EXTERNAL' => 'A',
                'SOCNET_GROUP_ID' => ($arParams["TASK_TYPE"] == "group" ? $arParams["OWNER_ID"] : "")
                 )
                    );
   
   break;
   }




2 комментария:

Олег Голендухин комментирует...

Очень пригодилось, спасибо.

NIk комментирует...

Здравствуйте, подскажите пожалуйста вы это делали в шаблоне компонента bitrix:iblock.element.add.form? Как вы указали что нужно выбирать именно пользователей?