Массовое редактирование (обновление) ресурсов ?

Привет. Вот скрипт для редактирования одного ресурса. Подскажите, пожалуйста, как сделать массовое редактирование ресурсов (изменение типа публикации, изменения контента) с поиском по заголовкам.
<?php
// Выполняем поиск по заголовку 
$resource = $modx->getObject('modResource', array('pagetitle' => 'Заголовок 1'));
if (is_object($resource)) {
// преобразуем объект в массив
$resource = $resource->toArray();
// изменим публикацию (опубликована/не опубликована) страницы
$resource[«published»] = '1';
// выполнение процессора 
$response = $modx->runProcessor('resource/update', $resource);

// если ошибка 
if($response->isError()){
echo «Произошла ошибка». $response->getMessage();
}
else{
echo «Документ изменен»;
}

} else {
echo «Документ не найден»;
}
Rus
Rus
05 июня 2018, 11:18
modx.pro
1
2 927
0

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

Баха Волков
05 июня 2018, 14:24
0
Был же компонент Batcher, он с такими задачами справлялся
    Rus
    Rus
    05 июня 2018, 14:28
    0
    Да. Я в курсе. Но нужно еще и контент добавить/изменить в уже созданные страницы.
      Баха Волков
      05 июня 2018, 15:04
      0
      Нагуглил
      $parent = 3;
      $templateid = 2;
      
      $query = $modx->newQuery('modResource');
      $query->where(array('parent' => $parent, 'published' => true));
      $childs = $modx->getCollection('modResource',$query);
      
      foreach ($childs as $child) {
        $child->set('template',$templateid);
        $result = $child->save();
        if(!$result){
            echo 'Error for id='.$child->get('id');
        }
      }
      echo 'Done!';
    Андрей Степаненко
    19 января 2019, 15:40
    1
    +1
    Компонент mspre теперь умеет все это делать с ресурсами. С возможностью массово заменять текст, редактировать текст в списке с ресурсами. Так же есть кнопка быстрого редактирования ресурсов. Менять шаблоны для ресурсов и куча других возможностей которых так не хватает в Modx
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      4