Массовое редактирование tv
Возникла необходимость отредактировать 4 tv у 50 000 ресурсов.
Пытаюсь через console сделать так:
Пробовал вместо
Может кто-нибудь знает лучший способ редактирования?
Пытаюсь через console сделать так:
<?php
$pages = $modx->getIterator('modResource', ['parent:IN' => [8888]]);
foreach ($pages as $p) {
$alias = $p->getTVValue('tv_name_1');
$alias = str_replace('value_1','value_2',$alias);
$p->setTVValue('tv_name_1', $alias);
$p->save();
}Всего у каждого ресурса по 4 таких tv. То есть для каждой родительской категории такой код через console приходится запускать по 4 раза, что является далеко не лучшим решением.Пробовал вместо
['parent:IN' => [8888]] использовать ['template:IN' => [8]], но ресурсов 50 000 и все зависает.Может кто-нибудь знает лучший способ редактирования?
Комментарии: 4
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Во вторых, console умеет выполнять код много раз. Как здесь ilyaut.ru/cheats/to-rebuild-all-previews-of-products/
В смысле, ставите limit и offset в запрос. offset пишете в сессию и читаете его из нее.
показывает console, что код нужно повторить.
Либо это запрос напрямую в каком-нибудь phpmyadmin
Префикс к таблицам добавьте и id tv
Ну и протестируйте не на боевом сервере