Контролер Content дозволяє web-користувачам створювати і редагувати записи в таблицях MODxAPI. Розширює контролер Form, що дозволяє відправляти листи після створення запису. При редагуванні записів відправка пошти відключена, при необхідності її можна реалізувати за допомогою плагінів на подію збереження (OnDocFormSave і т.п.).
Дані форми передаються в об'єкт MODxAPI як є, відповідно розробнику потрібно піклуватися про їх коректність самостійно.
При редагуванні записів можна заборонити зміну окремих полів, використовуючи параметр keepDefaults.
При створенні нового запису викликається подія OnMakeDocUrl, в яке передається id запису і масив data зі значеннями полів запису. Це дозволяє повернути посилання на створений запис, вона буде доступна через плейсхолдер [+content.url+]. Посилання можна використовувати в листі c повідомленням про створення нового запису.
Також можна використовувати дані авторизованого користувача, доступні через плейсхолдери [+user.fullname+], [+user.email+] і т.д.
Клас MODxAPI.
Можливі значення - ім'я класу MODxAPI.
Значення за замовчуванням - \modResource.
Шлях до файлу класу, якщо клас не завантажується заздалегідь.
Можливі значення - відносний шлях до файлу.
Значення за замовчуванням - assets/lib/MODxAPI/modResource.php.
Клас для роботи з користувачами.
Можливі значення - ім'я класу.
Значення за замовчуванням - \modUsers
Шлях до файлу класу для роботи з користувачами.
Можливі значення - відносний шлях до файлу.
Значення за замовчуванням - assets/lib/MODxAPI/modUsers.php
Дозволити додавання записів тільки для зареєстрованих користувачів.
Можливі значення - 0, 1.
Значення за замовчуванням - 1.
Групи користувачів, яким дозволено додавати або змінювати записи.
Можливі значення - список груп через крапку з комою.
Значення за замовчуванням - порожньо (дозволені будь-які групи).
Дозволяє редагування записів тільки їх авторами. Автор визначається по полю, вказаному в параметрі ownerField.
Можливі значення - 0, 1.
Значення за замовчуванням - 1.
Ім'я поля, що визначає власника запису. Якщо працювати з документами modResource, то це буде ім'я tv-параметра (в Evo не передбачено створення записів веб-користувачами).
Можливі значення - ім'я поля.
Значення за замовчуванням - aid.
Ім'я ключа масиву $ _REQUEST, за яким визначається id редагованого запису. Якщо ключ не заданий, то контролер викликається в режимі створення записів. Інформацію про режим контролера можна отримати за допомогою методу getMode.
У формі редагування потрібно передбачити приховане поле з ім'ям параметра, в якому буде зберігатися id запису.
Значення за замовчуванням - id.
Задає зіставлення полів MODxAPI і полів форми. Можна не задавати, якщо імена полів збігаються. Якщо параметр не заданий, то обмежити список переданих в модель полів можна за допомогою параметрів allowedFields і forbiddenFields.
Можливі значення - масив виду:
&contentFields=`{
"поле MODxAPI":"поле форми",
"поле MODxAPI":"поле форми"
}
`
Значення за замовчуванням - порожньо.
Очищати кеш після збереження запису.
Можливі значення - 0, 1.
Значення за замовчуванням - 0.
Перенаправляє користувача на вказану статтю після збереження нового запису. У режимі редагування не використовується.
Можливі значення - id цільової сторінки або масив.
Значення за замовчуванням - порожньо.
Переправляє користувача на сторінку для редагування створеного запису. Сторінка вказується в параметрі redirectTo.
Можливі значення - 1 або 0.
Значення за замовчуванням - 0.
Шаблон форми для редагування документа.
Можливі значення - ім'я шаблону, вказане за правилами завдання шаблонів в DocLister.
Значення за замовчуванням - значення параметра formTpl.
Шаблон повідомлення про те, що користувач не є автором документа. Тільки режим редагування.
Можливі значення - ім'я шаблону, вказане за правилами завдання шаблонів в DocLister.
Значення за замовчуванням - запис з лексикону Content з ключем [+edit.default_badOwnerTpl+].
Шаблон повідомлення про те, що користувач не входить в групу користувачів яким дозволено створювати і редагувати документи.
Можливі значення - ім'я шаблону, вказане за правилами завдання шаблонів в DocLister.
Значення за замовчуванням - запис з лексикону Content з ключем [+create.default_badGroupTpl+] або [+edit.default_badGroupTpl+].
Шаблон повідомлення про те, що користувач не може редагувати запис: наприклад, запис не існує. Тільки режим редагування.
Можливі значення - ім'я шаблону, вказане за правилами завдання шаблонів в DocLister.
Значення за замовчуванням - запис з лексикону Content з ключем [+edit.default_badRecordTpl+].
Перенаправляє неавторизованого користувача на вказану статтю.
Можливі значення - id цільової сторінки або масив.
Значення за замовчуванням - порожньо.
Шаблон повідомлення для неавторизованого користувача. Для режиму редагування - skipEditTpl.
Можливі значення - ім'я шаблону, вказане за правилами завдання шаблонів в DocLister.
Значення за замовчуванням - запис з лексикону Content з ключем [+create.default_skipTpl+] (edit.default_skipEditTpl).
Шаблон повідомлення про успішне збереження нового запису.
Можливі значення - ім'я шаблону, вказане за правилами завдання шаблонів в DocLister.
Значення за замовчуванням - запис з лексикону Content з ключем [+create.default_successTpl+]
Шаблон повідомлення про успішне оновлення запису.
Можливі значення - ім'я шаблону, вказане за правилами завдання шаблонів в DocLister.
Значення за замовчуванням - порожньо.