CreateChildrenDocs плагин modx evo.

27 марта 2018

Написал плагин для modx evo помогающий избавится от некоторых проблем связанных со звонками менеджеров заполняющий сайты. Бывает сделаешь сайт и передаш заказчику, обучиш как заполнять, а через некоторое время идут звонки - "А, всё пропало! Гипс снимают, клиент уезжает". Возможно такая ситуация возникает когда меняется человек отвественный за наполнение сайта. И по каким-то причинам не обучили нового человека.

CreateChildrenDocs плагин автоматически создает структуру дочернихй документов (как правило папок) в системе modx evo. Для плагина необходимо что-бы был установлен modxapi от Евгения Борисова (https://github.com/AgelxNash/DocLister), Евгений написал очень хорошую библиотеку и я её сразу усстанавливаю при новой установке modx evo. Хотя с некоторых времен в новых версиях Modxapi уже есть по умолчанию.

Конечно у дотошных читателей возникнут вопросы - типа что архитектура не продумана, раз менеджер заполняющий сайт может сделать что-то не так. Это я не отрицаю. Но иногда проще сделать так и так. И ситуация со структурой дочерних папок редка. Я как правило сам на первом этапе заполняю необходимые документы, но всё равно проблема вылезает.

Плагин работает, создает только непосредственных потомков. Использовать на свой страх и риск. Скачать можно на Github CreateChildrenDocs. Плагин срабатывает по событию OnDocFormSave и только для новых документов. Из трудностей хочу отметить - это заполнение конфигурации. Если будет необходимость доделаю плагин так что-бы конфигурацию можно было заполнять мышкой. 

Для примера:
Есть такая структура.
Ресторан

  1. Акции
  2. Афиша
  3. (Что-то еще)
В конфигурации должна быть строка:
[{'parentDoc':4,'templateDoc':4,'docs':[{'pagetitle':'Акции','template':5},{'pagetitle':'Афиша','template':6}]}]
 
parentDoc — Обязательный параметр, ID родителя в которой создается документ Ресторан
templateDoc — Необязательный параметр, Template создаваемого документа. (Желательно использовать, что-бы отделять где создавать автоматически документы, а где нет)
docs — Массив дочерних документов которые надо создать автоматически.
Тут обязательные параметры pagetitle и template. Остальные параметры тоже можно указать, кроме parent.
Обратите внимание! В строке используются одинарные кавычки, а не двойные. Хотя получается что это неправильная json строка. В коде используется $jsonParams = str_replace("'", '"', $jsonParams); для замены. Если попытаться написать в конфигурации плагина двойные кавычки то настройки слетят.
 
Будут вопросы - спрашивайте. Чем смогу помогу.
Андрей Лебедев

,

, ,

Комментарий

Нет комментарий.

Комментировать: