Как перенести неопубликованные ресурсы в другой каталог
        Есть структура вида:
Мероприятия (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
Спасибо большое!
                    Спасибо большое!
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.