Как добавить новое поле в базе данных, для пользователя CMS битрикс.

04.12.2014
Также новое поле должно сохраняться, через панель администрирования.

Сначала добавляем в таблицу b_user (префикс может быть другим), нужное поле. Например, new_field.

Далее редактируем файл:
/bitrix/modules/main/admin/user_edit.php

Для того, что бы поле сохранилось в базу, нужно найти массив $arFields = Array( и добавить в него нужное поле.

Код - пример #1
1
"new_field" => $_POST["NEW_FIELD"],

Для вывода поля, можно, после:

Код - пример #1
1
2
<td><input type="password" name="NEW_PASSWORD_CONFIRM" size="30" maxlength="50" value="<? echo htmlspecialchars($NEW_PASSWORD_CONFIRM) ?>" autocomplete="off"></td>
</tr>

Вставить:

Код - пример #1
1
2
3
4
<tr id="bx_external_key_row">
<td>Идентификатор пользователя из внешней базы</td>
<td><input type="text" name="NEW_FIELD" size="30" maxlength="50" value="<? echo htmlspecialchars($str_new_field) ?>" autocomplete="off"></td>
</tr>

Думаю, стоит обратить внимание на $str_new_field – в коде выше, есть строчка:
if(!$user->ExtractFields("str_"))
Она создает переменные, с префиксом $str_, по названию всех полей в таблице пользователей.


Категории: Bitrix CMS
Яндекс.Метрика