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

Кастомизация пользовательских полей формы регистрации

00 голосов
1
Здравствуйте, уважаемые.

есть в шаблоне формы регистрации main.register строчки, добавляющие пользовательские поля, если они есть, вот такие:

Код
<?// ********************* User properties ***************************************************?>
<?if($arResult["USER_PROPERTIES"]["SHOW"] == "Y"):?>
     <tr><td colspan="2"><?=strLen(trim($arParams["USER_PROPERTY_NAME"])) > 0 ? $arParams["USER_PROPERTY_NAME"] : GetMessage("USER_TYPE_EDIT_TAB")?></td></tr>
     <?foreach ($arResult["USER_PROPERTIES"]["DATA"] as $FIELD_NAME => $arUserField):?>
     <tr><td><?if ($arUserField["MANDATORY"]=="Y"):?><span class="required">*</span><?endif;?>
          <?=$arUserField["EDIT_FORM_LABEL"]?>:</td><td>
               <?$APPLICATION->IncludeComponent(
                    "bitrix:system.field.edit", 
                    $arUserField["USER_TYPE"]["USER_TYPE_ID"],
                    array("bVarsFromForm" => $arResult["bVarsFromForm"], "arUserField" => $arUserField, "form_name" => "regform"), null, array("HIDE_ICONS"=>"Y"));?></td></tr>
     <?endforeach;?>
<?endif;?>
<?// ******************** /User properties ***************************************************?>


В этих полях вызывается еще один компонент:

Код
<?$APPLICATION->IncludeComponent(
                    "bitrix:system.field.edit", 
                    $arUserField["USER_TYPE"]["USER_TYPE_ID"],
                    array("bVarsFromForm" => $arResult["bVarsFromForm"], "arUserField" => $arUserField, "form_name" => "regform"), null, array("HIDE_ICONS"=>"Y"));?>


, который собственно и добавляет поля, но вот незадача, как мне шаблон его скопировать правильно и привязать к главному этому шаблону? если из режима разработки копировать шаблон главной формы регистрации, то копируется шаблон только главной формы main.register а шаблон system.field.edit так и остается по дефолтному пути, не в моем шаблоне...

Помогите пожалуйста разобраться...
спросил 13 Июль, 13 от Traxexx (900 баллов)

1 Ответ

00 голосов
Воспользуйся компонентом "Настраиваемая регистрация" (Компоненты 2.0 - Служебные - Пользователь), там в настройках можно выбрать какие из полей PERSONAL_ анкеты отображать в форме регистрации, и какие из них сделать обязательными.

А потом просто перенаправь все ссылки на регистрацию вместо встроенной формы на модифицированную.

Из фака:
Как изменить стандартную форму авторизации (регистрации)?
http://dev.1c-bitrix.ru/support/faq/8366/#112843
1. В настройках главного модуля включите использование компонентов 2.0
2. создайте страницу,не требующую авторизации, поместите на неё bitrix:main.register и настройте его;
3. если необходимо - скопируйте шаблон .default компонента bitrix:main.register и модифицируйте его;
4. скопируйте шаблон .default компонента bitrix:system.auth.authorize в шаблон сайта и измените его так, чтобы путь для регистрации указывал на созданную страницу.

См. http://dev.1c-bitrix.ru/api_help/main/general/component20/10.template_place.php
ответил 13 Июль, 13 от MimoZa (140 баллов)

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

0 голосов
3 ответов
спросил 21 Фев, 14 от IgoRek (100 баллов)
0 голосов
1 ответ
0 голосов
7 ответов