Массовое редактирование (обновление) ресурсов ?
Привет. Вот скрипт для редактирования одного ресурса. Подскажите, пожалуйста, как сделать массовое редактирование ресурсов (изменение типа публикации, изменения контента) с поиском по заголовкам.
<?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 «Документ не найден»;
}
Комментарии: 4
Был же компонент Batcher, он с такими задачами справлялся
Да. Я в курсе. Но нужно еще и контент добавить/изменить в уже созданные страницы.
Нагуглил
$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!';
Компонент mspre теперь умеет все это делать с ресурсами. С возможностью массово заменять текст, редактировать текст в списке с ресурсами. Так же есть кнопка быстрого редактирования ресурсов. Менять шаблоны для ресурсов и куча других возможностей которых так не хватает в Modx
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.