Страница регистрация. Компонент bitrix:main.profile.
Вывожу пользовательское поле:
global $USER;
$arFilter = array("ID" => $USER->GetID());
$arParams["SELECT"] = array("UF_VK");
$arRes = CUser::GetList($by,$desc,$arFilter,$arParams);
if ($res = $arRes->Fetch()) {
echo "<p><span>Адрес страницы вконтакте</span><br /><input type='text' name='NAME' maxlength='50' value='".$res["UF_VK"]."' /></p>";
}
Кнопка сохранения:
<p><?echo $arResult["GROUP_POLICY"]["PASSWORD_REQUIREMENTS"];?></p>
<p><input type="submit" name="save" value="<?=(($arResult["ID"]>0) ? GetMessage("MAIN_SAVE") : GetMessage("MAIN_ADD"))?>"> <input type="reset" value="<?=GetMessage('MAIN_RESET');?>"></p>
Судя по всему за это отвечает update, но не совсем понятно как его использовать.
https://www.youtube.com/watch?v=OsmfPWc24X0
Заметил такую особенность, в официальном примере
https://www.youtube.com/watch?v=Zn35MdRADEY, разработчики
добавляют поле и кастомизируют его. Однако в моём будет порядка 10 foreach что совсем не круто. Впрочем сейчас понятно куда двигаться:
<?// ********************* User properties ***************************************************?>
<?if($arResult["USER_PROPERTIES"]["SHOW"] == "Y"):?>
<div class="profile-link profile-user-div-link"><a title="<?=GetMessage("USER_SHOW_HIDE")?>" href="javascript:void(0)" onclick="SectionClick('user_properties')"><?=strlen(trim($arParams["USER_PROPERTY_NAME"])) > 0 ? $arParams["USER_PROPERTY_NAME"] : GetMessage("USER_TYPE_EDIT_TAB")?></a></div>
<div id="user_div_user_properties" class="profile-block-<?=strpos($arResult["opened"], "user_properties") === false ? "hidden" : "shown"?>">
<table class="data-table profile-table">
<thead>
<tr>
<td colspan="2"> </td>
</tr>
</thead>
<tbody>
<?$first = true;?>
<?foreach ($arResult["USER_PROPERTIES"]["DATA"] as $FIELD_NAME => $arUserField):?>
<tr><td class="field-name">
<?if ($arUserField["MANDATORY"]=="Y"):?>
<span class="starrequired">*</span>
<?endif;?>
<?=$arUserField["EDIT_FORM_LABEL"]?>:</td><td class="field-value">
<?$APPLICATION->IncludeComponent(
"bitrix:system.field.edit",
$arUserField["USER_TYPE"]["USER_TYPE_ID"],
array("bVarsFromForm" => $arResult["bVarsFromForm"], "arUserField" => $arUserField), null, array("HIDE_ICONS"=>"Y"));?></td></tr>
<?endforeach;?>
</tbody>
</table>
</div>
<?endif;?>
<?// ******************** /User properties ***************************************************?>