Добавление поля в форму регистрации

  • Автор темы Автор темы Allaur
  • Дата начала Дата начала

Allaur

Созидатель (II)
Сообщения
10
Реакции
0
Баллы
11
Здравствуйте.
Я в Битриксе новичок. Прошу не топтать если что не так спрашиваю.
В личных данных пользователя есть поле Пол
1677189755297.png
Есть форма регистрации
1677189816060.png
код формы
Код:
<? if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
$this->setFrameMode(true);
use Bitrix\Main\Localization\Loc;
Loc::loadMessages($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/profistudio.forms/include.php");
?>
<? if($arResult["FORM_TYPE"] == "logined"):?>
<div class="rm-form-box">
    <div class="rm-form__title">
        <?=htmlspecialcharsbx($arParams["NAME_LOGINED"])?>
    </div>
    <div class="rm-form__text rm-form__text_1">
        <?=htmlspecialcharsbx($arParams["TEXT_LOGINED"])?>
    </div>
</div>
<? elseif($arResult["FORM_TYPE"] == "registration"):?>
<div class="rm-form-box">
    <form id="<?=$arResult["FORM_ID"]?>" class="modal-form" name="registration_form" action="" method="post">

        <input type="hidden" name="FORM_ID" value='<?=htmlspecialcharsbx($arResult["FORM_ID"])?>'>
        <input type="hidden" name="sessid" value="<?=bitrix_sessid()?>">

        <? foreach($arResult["SHOW_FIELDS"] as $FIELD):?>
            <? switch ($FIELD):
                case "PASSWORD":
                case "CONFIRM_PASSWORD":?>
                <div class="rm-form-line"  style="margin-bottom:25px">
                    <div class="rm-inputbox rm-inputbox_icon">
                        <input style="margin-bottom:0" type="password" class="rm-inputbox__input modal-form-field" id="<?=$FIELD?><?=$arResult["FORM_ID"]?><?=$arParams['ID_PREFIX']?>" name="<?=$FIELD?>" value="" placeholder="<?=Loc::getMessage("FORMS_REGISTRATION_FIELD_".$FIELD."_PLACEHOLDER")?>" maxlength="255">
                        <div class="rm-inputbox__error " style="color:#a94442; font-size: 80%; font-weight: 400;"></div>
                    </div>
                </div>
                <?
                break;
                case "PROMO_CODE":?>
                <div class="rm-form-line"  style="margin-bottom:25px">
                    <div class="rm-inputbox rm-inputbox_icon">
                        <input style="margin-bottom:0" type="text" class="rm-inputbox__input modal-form-field" id="<?=$FIELD?><?=$arResult["FORM_ID"]?><?=$arParams['ID_PREFIX']?>" name="UF_PROMO_CODE" value="" placeholder="Промокод (номер договора)" maxlength="255">
                        <div class="rm-inputbox__error " style="color:#a94442; font-size: 80%; font-weight: 400;"></div>
                    </div>
                </div>
                <?
                break;

                default:
                ?>
                <div class="rm-form-line"  style="margin-bottom:25px">
                    <div class="rm-inputbox rm-inputbox_icon">
                        <input style="margin-bottom:0"
                               type="text"
                               class="rm-inputbox__input modal-form-field"
                               id="<?=$FIELD?><?=$arResult["FORM_ID"]?><?=$arParams['ID_PREFIX']?>"
                               name="<?=$FIELD?>"
                               value=""
                               placeholder="<?=Loc::getMessage("FORMS_REGISTRATION_FIELD_".$FIELD."_PLACEHOLDER")?>"
                               maxlength="255"
                               <?if(
                                   $FIELD == 'LOGIN' ||
                                   $FIELD == 'PASSWORD'||
                                   $FIELD == 'EMAIL'
                               ):?>
                                required="required"
                                <?endif;?>
                        >
                        <div class="rm-inputbox__error " style="color:#a94442; font-size: 80%; font-weight: 400;"></div>
                    </div>
                </div>
            <? endswitch;?>
        <? endforeach;?>

        <div class="rm-form-line"  style="margin-bottom:25px">
            <div class="rm-inputbox rm-inputbox_icon">
                <input style="margin-bottom:0"
                       type="tel"
                       class="rm-inputbox__input modal-form-field"
                       id="PERSONAL_PHONE<?=$arResult["FORM_ID"]?><?=$arParams['ID_PREFIX']?>" name="PERSONAL_PHONE" value="" placeholder="<?=Loc::getMessage("FORMS_REGISTRATION_FIELD_PERSONAL_PHONE_PLACEHOLDER")?>"
                       maxlength="255"
                       data-inputmask-mask="+7 (999) 999-9999"
                       data-mask="+7 (999) 999-9999"
                       data-bv-field="PERSONAL_PHONE"
                >
                <div class="rm-inputbox__error " style="color:#a94442; font-size: 80%; font-weight: 400;"></div>
            </div>
        </div>

        <? if($arParams["NO_SPAM"] == "captcha"):?>
        <div class="rm-form-line rm-form-captcha">
            <input type="hidden" name="captcha_sid" value="<?=$arResult["CAPTCHA_CODE"]?>" />
            <div class="rm-form-line">
                <label for="captcha_code<?=$arResult["FORM_ID"]?><?=$arParams['ID_PREFIX']?>" class="rm-label-line"><?=Loc::getMessage("PROFISTUDIO_FORMS_CAPTCHA_INPUT_CODE_IMG")?></label>
                <div class="rm-inputbox">
                    <input id="captcha_code<?=$arResult["FORM_ID"]?><?=$arParams['ID_PREFIX']?>" name="captcha_code" class="rm-inputbox__input" type="text" value="" placeholder="<?=Loc::getMessage("PROFISTUDIO_FORMS_CAPTCHA_INPUT_CODE_IMG_PLACEHOLDER")?>" maxlength="255">
                    <div class="rm-inputbox__error"></div>
                </div>
            </div>
            <div class="rm-form-line">
                <div class="rm-form-captcha__img">
                    <img src="/bitrix/tools/captcha.php?captcha_sid=<?=$arResult["CAPTCHA_CODE"]?>" alt="CAPTCHA">
                </div>
                <a href="#" class="rm-form-captcha__refresh-link"><?=Loc::getMessage("PROFISTUDIO_FORMS_CAPTCHA_DNT_SEE_CODE")?></a>
            </div>
            <div class="clear"></div>
        </div>
        <? elseif($arParams["NO_SPAM"] == "recaptcha"):?>
        <div class="rm-form-line rm-form-recaptcha">
            <div id="g-recaptcha-<?=$arResult["FORM_ID"]?>"></div>
        </div>
        <? endif;?>

        <div class="rm-form-line-error" style="color:#a94442;">
        </div>

        <div class="rm-form-loading-box">
            <div class="rm-form-loading-icon"></div>
        </div>

        <div class="rm-form-line" style="margin-bottom: 25px;">
            <label><input type="checkbox"
                          name="confirm-personal"
                          checked="checked"
                          required="required"
                /> Согласен на обработку персональных данных</label>
        </div>

        <div class="rm-form-line" style="margin-bottom: 25px;">
            <label><input type="checkbox"
                          name="subscribe"
                          checked="checked"
                /> Согласен на получение рекламных материалов и рассылок</label>
        </div>


<input type="submit" class="btn btn-blue white-text" value="Зарегистрироваться">
                                <p class="policy-wrap">

                                    <span class="policy-text">Нажимая на кнопку отправить, я подтверждаю, что ознакомлен и согласен с <a href="/policy/">Политикой конфиденциальности</a></span>
                                </p>

    </form>
</div>
<? elseif($arResult["FORM_TYPE"] == "confirm_registration"):?>
    <div class="rm-form-box">
        <div class="rm-form__title">
            <?=htmlspecialcharsbx($arParams["NAME_CONFIRM"])?>
        </div>
        <? if(!$arResult["SHOW_FORM"]):?>
        <div class="rm-form__text rm-form__text_1">
            <?=$arResult["MESSAGE_TEXT"]?>
        </div>
        <? else:?>
        <div class="rm-form-line-error" style="display:block;">
            <?=$arResult["MESSAGE_TEXT"]?>
        </div>
        <? endif;?>
        <div>
            <a href="<?=htmlspecialcharsbx($arParams["AUTH_LINK_HREF"])?>"><?=htmlspecialcharsbx($arParams["AUTH_LINK_NAME"])?></a>
        </div>
    </div>
<? endif;?>
Вот ни как не пойму как в форму регистрации вставить выпадающий список поле Пол чтобы при регистрации в личных данных поле было заполнено.
1677190163275.png
Или может я чего то не догоняю, может не так это реализовывается...
Прошу помощи пнуть меня в нужном направлении :)

Так же я создал пользовательское поле.
1677193770487.png
Оно появилось у пользователя.
1677193854223.png
Ну и соответственно как ПП выводить в форму тоже понятия не имею :)
Прошу помощи!
 

Вложения

  • 1677190540017.png
    1677190540017.png
    107,4 КБ · Просмотры: 5
  • 1677190477495.png
    1677190477495.png
    42,6 КБ · Просмотры: 4
  • 1677190424534.png
    1677190424534.png
    46,1 КБ · Просмотры: 3
Последнее редактирование:
В форму прописал html списка
Код:
<?
                break;
                case "FLOOR":?>
                <div class="rm-form-line"  style="margin-bottom:25px">
                    <div class="rm-inputbox rm-inputbox_icon">
                       <select name="PERSONAL_GENDER">
                            <option value="" selected="">Выберите пол</option>
                            <option value="M">Мужской</option>
                            <option value="F">Женский</option>
                        </select>
<div class="rm-inputbox__error " style="color:#a94442; font-size: 80%; font-weight: 400;"></div>
                    </div>
                </div>
В файл
ajax_action.php
вставил код поля UF_FLOOR
Код:
if (!empty($_POST['UF_FLOOR'])) $fields['UF_FLOOR'] = $_POST['UF_FLOOR'];
В файл
result_modifier.php
вставил код поля UF_FLOOR
Код:
$arResult['SHOW_FIELDS'][] = 'FLOOR';
Поле в форме появилось

1677193410630.png
Но так как в php не шарю, не могу понять как правильно прописать код для выпадающего списка, чтоб подвязалось заполнение в личные данные.
Прошу помощи...
 
Последнее редактирование:
Другая проблема
При нажатии на кнопку
Зарегистрироваться
1677250412785.png
Ничего не происходит

Прошу помощи или может кто платно сможет решить проблему.
 
Назад
Верх