Поскольку при изменении вариантов, в TV поле, в самих ресурсах значения не изменяются (остаются старые варианты). Необходимо массово переопределить во всех ресурсах старые варианты.
В данном примере переопределяется список с множественным выбором. Заменяются старые названия на новые:
<?php
//echo '<pre>';
$parent = 1782;
$tv_name = "razn";
$pattern = "/old_name/i";
$replacement = 'new_name';
$count = 0;
//массив where для выборки
$w = [
'parent' => $parent,
'class_key' => 'modResource',
];
$q = $modx->newQuery('modResource');
$q->where($w);
//$q->limit(1);
$items = $modx->getCollection('modResource', $q);
foreach ($items as $item) {
$value = $item->getTVValue($tv_name);
if (preg_match($pattern, $value)) {
$count++;
echo $new = preg_replace($pattern, $replacement, $value);
echo '<br>';
$item->setTVValue($tv_name, $new);
//раскоментируем ниже, если все ок
//$item->save();
}
}
echo $count;