Редагування профілю користувача

    Редагування профілю користувача

    Контролер Profile дозволяє авторизованим користувачам редагувати свої профілі, в тому числі змінювати пароль.

    При зміні профілю слід перевіряти унікальність email. У контролері передбачено відповідне правило:

    &rules=`{
        "email":{
            "required":"Введіть email",
            "email":"Невірний email",
            "custom":{
                "function":"\\FormLister\\Profile::uniqueEmail",
                "message":"Цей email вже використовує інший користувач"
            }
        }
    }`

    Аналогічно з полем username:

    &rules=`{
        "username":{
            "required":"Введіть ім'я користувача",
            "alphaNumeric":"Тільки букви і цифри",
            "custom":{
                "function":"\\FormLister\\Profile::uniqueUsername",
                "message":"Ім'я вже зайнято"
            }
        }
    }`

    Якщо поле з паролем пусте, то пароль залишається колишній. Після зміни пароля користувач повинен авторизуватися за новим паролем. Новий пароль зберігається в поле user.password.

    Параметри

    model

    Клас для роботи з користувачами.

    Можливі значення - ім'я класу.

    Значення за замовчуванням - \modUsers

    modelPath

    Шлях до файлу класу для роботи з користувачами.

    Можливі значення - відносний шлях до файлу.

    Значення за замовчуванням - assets/lib/MODxAPI/modUsers.php

    allowedFields

    Дозволені для обробки поля. Поля, які не вказані в списку, ігноруються. Якщо користувач змінює пароль, то в дозволені поля додається поле password. Якщо у користувачів збігаються поля e-mail і username, то при зміні e-mail буде змінено і поле username, якщо значення цього поля не задано. У цьому випадку поле username буде додано до списку дозволених.

    Якщо не задано, то дозволені всі поля.

    Можливі значення - імена полів форми, розділені комою.

    Значення за замовчуванням - порожньо.

    forbiddenFields

    Заборонені для обробки поля. Поля, зазначені в списку, ігноруються. Поля password і username виключаються зі списку за аналогією з allowedFields.

    Можливі значення - імена полів форми, розділені комою.

    Значення за замовчуванням - порожньо.

    preparePostProcess

    Дозволяє виконати обробку даних після збереження.

    Можливі значення - імена сніпетів, анонімні функції, статичні методи завантажених класів.

    Значення за замовчуванням - порожньо.

    redirectTo

    Перенаправляє користувача на вказану статтю після збереження профілю.

    Можливі значення - id цільової сторінки.

    Значення за замовчуванням - порожньо.

    exitTo

    Перенаправляє неавторизованого користувача на вказану статтю.

    Можливі значення - id цільової сторінки або масив.

    Значення за замовчуванням - порожньо.

    skipTpl

    Шаблон повідомлення для неавторизованого користувача.

    Можливі значення - ім'я шаблону, вказане за правилами завдання шаблонів в DocLister.

    Значення за замовчуванням - запис з лексикону Profile з ключем [+profile.default_skipTpl+]

    successTpl

    Шаблон повідомлення про успішне оновлення профілю. Якщо не заданий, то генерується повідомлення про успішне збереження форми.

    Можливі значення - ім'я шаблону, вказане за правилами завдання шаблонів в DocLister.

    Значення за замовчуванням - порожньо.