Створення та редагування документів користувачами

    Створення та редагування документів користувачами

    Контролер Content дозволяє web-користувачам створювати і редагувати записи в таблицях MODxAPI. Розширює контролер Form, що дозволяє відправляти листи після створення запису. При редагуванні записів відправка пошти відключена, при необхідності її можна реалізувати за допомогою плагінів на подію збереження (OnDocFormSave і т.п.).

    Дані форми передаються в об'єкт MODxAPI як є, відповідно розробнику потрібно піклуватися про їх коректність самостійно.

    При редагуванні записів можна заборонити зміну окремих полів, використовуючи параметр keepDefaults.

    При створенні нового запису викликається подія OnMakeDocUrl, в яке передається id запису і масив data зі значеннями полів запису. Це дозволяє повернути посилання на створений запис, вона буде доступна через плейсхолдер [+content.url+]. Посилання можна використовувати в листі c повідомленням про створення нового запису.

    Також можна використовувати дані авторизованого користувача, доступні через плейсхолдери [+user.fullname+], [+user.email+] і т.д.

    Параметри

    model

    Клас MODxAPI.

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

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

    modelPath

    Шлях до файлу класу, якщо клас не завантажується заздалегідь.

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

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

    userModel

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

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

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

    userModelPath

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

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

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

    onlyUsers

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

    Можливі значення - 0, 1.

    Значення за замовчуванням - 1.

    userGroups

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

    Можливі значення - список груп через крапку з комою.

    Значення за замовчуванням - порожньо (дозволені будь-які групи).

    onlyOwners

    Дозволяє редагування записів тільки їх авторами. Автор визначається по полю, вказаному в параметрі ownerField.

    Можливі значення - 0, 1.

    Значення за замовчуванням - 1.

    ownerField

    Ім'я поля, що визначає власника запису. Якщо працювати з документами modResource, то це буде ім'я tv-параметра (в Evo не передбачено створення записів веб-користувачами).

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

    Значення за замовчуванням - aid.

    idField

    Ім'я ключа масиву $ _REQUEST, за яким визначається id редагованого запису. Якщо ключ не заданий, то контролер викликається в режимі створення записів. Інформацію про режим контролера можна отримати за допомогою методу getMode.

    У формі редагування потрібно передбачити приховане поле з ім'ям параметра, в якому буде зберігатися id запису.

    Значення за замовчуванням - id.

    contentFields

    Задає зіставлення полів MODxAPI і полів форми. Можна не задавати, якщо імена полів збігаються. Якщо параметр не заданий, то обмежити список переданих в модель полів можна за допомогою параметрів allowedFields і forbiddenFields.

    Можливі значення - масив виду:

    &contentFields=`{
        "поле MODxAPI":"поле форми",
        "поле MODxAPI":"поле форми"
    }
    `

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

    clearCache

    Очищати кеш після збереження запису.

    Можливі значення - 0, 1.

    Значення за замовчуванням - 0.

    redirectTo

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

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

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

    editAfterCreate

    Переправляє користувача на сторінку для редагування створеного запису. Сторінка вказується в параметрі redirectTo.

    Можливі значення - 1 або 0.

    Значення за замовчуванням - 0.

    editTpl

    Шаблон форми для редагування документа.

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

    Значення за замовчуванням - значення параметра formTpl.

    badOwnerTpl

    Шаблон повідомлення про те, що користувач не є автором документа. Тільки режим редагування.

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

    Значення за замовчуванням - запис з лексикону Content з ключем [+edit.default_badOwnerTpl+].

    badGroupTpl, badGroupEditTpl

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

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

    Значення за замовчуванням - запис з лексикону Content з ключем [+create.default_badGroupTpl+] або [+edit.default_badGroupTpl+].

    badRecordTpl

    Шаблон повідомлення про те, що користувач не може редагувати запис: наприклад, запис не існує. Тільки режим редагування.

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

    Значення за замовчуванням - запис з лексикону Content з ключем [+edit.default_badRecordTpl+].

    exitTo

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

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

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

    skipTpl, skipEditTpl

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

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

    Значення за замовчуванням - запис з лексикону Content з ключем [+create.default_skipTpl+] (edit.default_skipEditTpl).

    successTpl

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

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

    Значення за замовчуванням - запис з лексикону Content з ключем [+create.default_successTpl+]

    editSuccessTpl

    Шаблон повідомлення про успішне оновлення запису.

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

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