Плагин для автоматического создания дочерних документов.

Иногда долго объяснять/обучать какой должна быть структура папок дочерних документов, и всё равно забывают и путаются. Вот решил написать плагин для решения этой проблемы.
Требуется MODXAPI от Евгения Борисова (https://github.com/AgelxNash/DocLister)

Из трудностей пока написание строки в конфигурации плагина (Планирую дописать).
Например у меня есть такая структура
Ресторан
  • Акции
  • Афиша
  • (Может еще чего.)

То json Params должен такой.
[{'parentDoc':4,'templateDoc':4,'docs':[{'pagetitle':'Акции','template':5},{'pagetitle':'Афиша','template':6}]}]


parentDoc — Обязательный параметр, ID родителя в которой создается документ Ресторан
templateDoc — Необязательный параметр, Template создаваемого документа. (Желательно использовать, что-бы отделять где создавать автоматически документы, а где нет)
docs — Массив дочерних документов которые надо создать автоматически.
Тут обязательные параметры pagetitle и template. Остальные параметры тоже можно указать, кроме parent.
Обратите внимание! В строке используются одинарные кавычки, а не двойные. Хотя получается что это неправильная json строка. В коде используется $jsonParams = str_replace("'", '"', $jsonParams); для замены. Если попытаться написать в конфигурации плагина двойные кавычки то настройки слетят.

Если кому интересно — github.com/Redduck911/CreateChildrenDocs

3 комментария

avatar
Когда он сработает? Как сработает? Как сработает, если доки уже есть? Зачем создавать их через конфиги, если проще создать руками?
Или он просто создаёт структуру внутри свежесозданного дока с определённым шаблоном?
  • 1px
  • 0
avatar
Плагин срабатыват по событию OnDocFormSave и только для новых документов. Когда создаешь основной документ, автоматически создаются необходимые дочерние документы (как правило папки). Получается да, он просто создает структуру внутри свежесозданного документа. Что-бы манагер не запутался.
avatar
Ага, понял, спасибо.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.