Как перенести неопубликованные ресурсы в другой каталог
Есть структура вида:
Мероприятия (id1)
— Мероприятие 3
— Мероприятие 4
Архив мероприятий (id2)
— Мероприятие 1
— Мероприятие 2
Как сейчас всё работает: для каждого мероприятия выставляется дата снятия с публикации, после снятия с публикации мероприятие руками перетягивается в каталог «Архив мероприятий (id2)» и публикуется (чтобы анонимы могли видеть мероприятия из архива).
Вопрос: как это автоматизировать? полагаю что через cron, но не имею понятия как это сделать. Прошу помощи!
Мероприятия (id1)
— Мероприятие 3
— Мероприятие 4
Архив мероприятий (id2)
— Мероприятие 1
— Мероприятие 2
Как сейчас всё работает: для каждого мероприятия выставляется дата снятия с публикации, после снятия с публикации мероприятие руками перетягивается в каталог «Архив мероприятий (id2)» и публикуется (чтобы анонимы могли видеть мероприятия из архива).
Вопрос: как это автоматизировать? полагаю что через cron, но не имею понятия как это сделать. Прошу помощи!
Комментарии: 5
Выбирать все не опубликованные ресурсы, менять им родителя и публиковать. По крону к примеру раз в день запускать скрипт.
<?php
require_once '/absolute/path/to/modx/config.core.php';
require_once MODX_CORE_PATH.'model/modx/modx.class.php';
$modx = new modX();
$modx->initialize('web');
$modx->getService('error','error.modError', '', '');
$archive = ''; // тут id архива
$resources = $modx->ghetIterator('modResource', array('published' => 0))
foreach($resources as $res){
$res->set('parent', $archive);
$res->set('published', 1);
$res->save();
}
А где указать id ресурса у которого выбирать эти неопубликованные ресурсы? т.к. есть и другие неопубликованные, но нужно делать выборку именно с «Мероприятия (id1)»
$parent = ''; // id родителя
$archive = ''; // тут id архива
$resources = $modx->getIterator('modResource), array('parent' => $parent);
foreach($resources as $res){
$res->set('parent', $archive);
$res->set('published', 1);
$res->save();
}
Опробовал в консоли — перенесло все мероприятия в архив. Опубликованные и неопубликованные :(
всё, разобрался, забыли добавить 'published' => 0
Спасибо большое!
Спасибо большое!
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.