Как автоматически создавать дочерние ресурсы?

У меня есть страница-ресурс «Дом1» у которой всегда будут подразделы «Создание», «Стройка», «Проект»
Я хочу, чтобы при создании «Дом2», «Дом3» и тд. соответствующие дочерние ресурсы создавались не менеджером вручную каждый раз, а сами, автоматически.

Что делать?

Нашел эти плагины, не один не работает:
community.modx-cms.ru/blog/questions/147.html
community.modx-cms.ru/blog/questions/10147.html
Филипп
12 января 2016, 12:57
modx.pro
881
0

Комментарии: 7

Наумов Алексей
12 января 2016, 16:03
2
+3
Ну… пишем плагин на OnDocFormSave.

В нем мы делаем проверку на:
1. Что мы сохраняем новый документ
if ($mode == 'new') {
  ...
}
2. Что наш документ — это Дом, например по шаблону проверяем
if($resource->get('template') == XXX)
И создаем дочерние ресурсы, используя $resource->get('id') (да-да, id нового документа у нас уже есть) в качестве parent.
$data = array(
   'parent' => $resource->get('id'),
   'published' => 1,
   'pagetitle' => 'Название',
    'content' => 'Текст страницы'
);
$modx->runProcessor('resource/create', $data);
    Филипп
    12 января 2016, 16:14
    -4
    Алексей, можете собрать просто готовый код плагина, а то мои самописные кострукции никак не хотят работать
    Григорий Коленько
    12 января 2016, 22:39
    0
    А а почему процессором создаёшь, а не newObject? Или принципиальной разницы нет?
      but1head
      13 января 2016, 00:07
      +2
      Процессоры вызывают эвенты, да и вообще правила хорошего кода
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
7