MODX REVO как через API обновить tv поле у всех ресурсов одним запросом?
Приветствую, прямо скажу даже не знаю с какого бока подойти.
Есть 1000 ресурсов, у них есть content и я хочу первый абзац контента, записать в tv с именем title.
Первый абзац до точки, получить не проблема, $tvtitle = explode( ".", $content);
но как записать в tv и главное обновить все ресурсы махом, не понимаю :(
Куда копать? Я так понимаю в цикле нужно через сниппет? Или какой то SQL запрос через phpMyadmin это делать?
Есть 1000 ресурсов, у них есть content и я хочу первый абзац контента, записать в tv с именем title.
Первый абзац до точки, получить не проблема, $tvtitle = explode( ".", $content);
но как записать в tv и главное обновить все ресурсы махом, не понимаю :(
Куда копать? Я так понимаю в цикле нужно через сниппет? Или какой то SQL запрос через phpMyadmin это делать?
Комментарии: 2
1. Ставите компонент Console
2. Пишите там код:
2. Пишите там код:
$q = $modx->newQuery('modResource');
// условие по необходимости
//$q->where(array('parent' => 1));
$resources = $modx->getIterator('modResource', $q);
foreach($resources as $resource) {
$content = $resource->get('content');
// делаем че хотим
$title = 'Заголовок';
// ...
$resource->setTVValue('title', $title);
$resource->save();
}
3. Запускаете… ждете (возможно долго).
Благодарю! Консоль, точно, как то работал с этим компонентом.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.