Login.Using Custom Fields
Последнее обновление not available | История страницы | Улучшить эту страницу | Сообщить о проблеме
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$204 per month—let's make that $500!
Learn moreЧто такое пользовательские поля?¶
Login сохраняет пользовательские («Extended») поля через extended-поле профиля пользователя Revolution. MODX хранит данные в JSON-объекте, который можно получить в любой момент.
Login делает это через свойство &useExtended в сниппетах Register, UpdateProfile и Profile. По умолчанию включено.
Использование¶
Добавьте поле в формы Register и UpdateProfile. Сниппеты проверят POST-поля, которых нет в таблице User, и сохранят их как extended. При Profile поля развернутся в плейсхолдеры. Пример фрагмента формы Register:
[[!Register? &submitVar=`go`]]
...
<label>Favorite Color:
<span class="error">[[+error.color]]</span>
<input type="text" name="color:required" value="[[+color]]" />
</label>
...
<input type="submit" name="go" value="Register!" />
Поле color сохранится в extended. На custom-поля работают валидаторы, например :required в этом примере.
Login не сохранит поле из &submitVar. Здесь go не попадёт в extended, потому что передано в &submitVar.
Вывод через Profile:
[[!Profile]]
<p>[[+username]]'s Favorite Color: [[+color]]</p>
То же в форме UpdateProfile:
[[!UpdateProfile]]
...
<label>Favorite Color:
<span class="error">[[+error.color]]</span>
<input type="text" name="color:required" value="[[+color]]" />
</label>
Прямое создание и заполнение контейнеров атрибутов¶
<input type="hidden" name="january[Spaces]" value="" />
<input type="hidden" name="january[Tables]" value="" />
<input type="hidden" name="january[Chairs]" value="" />
<input type="hidden" name="january[NeedsElectric]" value="" />
<input type="hidden" name="january[Misc]" value="" />

Исключение полей из сохранения в extended¶
У Register и UpdateProfile есть свойство excludeExtended со списком имён полей через запятую. Пример для полей nospam и customProp:
[[!Register? &excludeExtended=`nospam,customProp`]]
В менеджере¶
Extended-поля можно редактировать в менеджере: пользователь, вкладка «Extended Fields». Если добавляете поля там, включите их в формы UpdateProfile и/или Register.
Если extended-поле в контейнере, например test -> boo:

Доступ через точечную нотацию:
[[!Profile]]
Value of nested attribute: [[+test.below]]
... выведет boo!.
См. также¶
- Login.Login
- Login.Profile
- Login.UpdateProfile
- Login.Register
- Login.ConfirmRegister
- Login.ForgotPassword
- Login.ResetPassword
- Login.ChangePassword
- Login.Tutorials
- Login.Using Pre and Post Hooks
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$204 per month—let's make that $500!
Learn more










