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

Иногда долго объяснять/обучать какой должна быть структура папок дочерних документов, и всё равно забывают и путаются. Вот решил написать плагин для решения этой проблемы.
Требуется 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

8 комментариев

avatar
Когда он сработает? Как сработает? Как сработает, если доки уже есть? Зачем создавать их через конфиги, если проще создать руками?
Или он просто создаёт структуру внутри свежесозданного дока с определённым шаблоном?
  • 1px
  • 0
avatar
Плагин срабатыват по событию OnDocFormSave и только для новых документов. Когда создаешь основной документ, автоматически создаются необходимые дочерние документы (как правило папки). Получается да, он просто создает структуру внутри свежесозданного документа. Что-бы манагер не запутался.
avatar
Ага, понял, спасибо.
avatar
А как менеджер поймет, какой ID будет у родительского элемента?
avatar
А зачем менеджеру понимать про ID у родительского документа в данном конкретном случаи? Плагин рассчитан на программистов или продвинутых сайтостроителей, тех кто создает сайт, делает первоначальную настройку, заполнение. Плагин просто создает структуру внутри свежесозданного документа. Например мне понадобилось внутри раздела NEWS создать разделы ГОДЫ (раздел — 2018, раздел — 2019). А в годах делать месяцы. Вот плагин помогает автоматом делать МЕСЯЦА, сделал год, а он уже заполнен месяцами, хорошо. Сделал новый год и там уже есть месяца, опять хорошо. Про месяца это просто пример, структура может быть и другой.
Комментарий отредактирован 2019-10-05 17:02:46 пользователем Redduck
avatar
Плагин сработает корректно, если уже созданы шаблоны для всех создаваемых страниц? Или можно задать шаблон по-умолчанию, а после того, когда все шаблоны будут созданы, переписать конфиг?
Да, этот плагин удобен в самом начале я так понимаю, чтобы одним махом сформировать костяк сайта
avatar
Так, меня теперь мучают смутные сомнения, так как проверки существования шаблона я не делал. Я всегда сначала делал шаблоны, хотя-бы пустые. Ведь в конфиг вставляется номер шаблона.
avatar
Тогда было бы супер автоматом создавать шаблоны и присваивать им id на лету (какие будут прописаны в конфиге). Или это нереально? Может как-то иначе это все организовать тогда.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.