{Решено} Как заменить [[*menutitle]] на его содержимое где-либо?

У меня в title, longtitle и других полях идет подстановка [[*menutitle]], например, «Коды ошибок стиральной машины [[*menutitle]]», где [[*menutitle]] = Индезит. Как мне во всех ресурсах, везде заменить [[*menutitle]] на значение? Спасибо.
Jack OXO
13 ноября 2018, 11:45
126
0

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

Павел Романов
13 ноября 2018, 18:53
2
0
Запустите через Console или сниппетом:

foreach ($modx->getIterator('modResource', array()) as $resource) {
	$menutitle = $resource->get('menutitle');
	if($menutitle){
            $resource->set('title', str_replace('[[*menutitle]]', $menutitle)); // для title
            $resource->set('longtitle', str_replace('[[*menutitle]]', $menutitle)); //для longtitle
            //....
            $resource->save();
        }
}

Только бэкап, естественно, сделайте.
    Jack OXO
    14 ноября 2018, 11:21
    0
    PHP warning: str_replace() expects at least 3 parameters, 2 given
    modDocument: Attempt to set NOT NULL field longtitle to NULL
      Павел Романов
      14 ноября 2018, 12:04
      +1
      А, ну конечно, сорри:
      foreach ($modx->getIterator('modResource', array()) as $resource) {
      	$menutitle = $resource->get('menutitle');
      	if($menutitle){
                  $resource->setTVValue('title', str_replace('[[*menutitle]]', $menutitle, $resource->getTVValue('title'))); //для title, если это TV
                  $resource->set('longtitle', str_replace('[[*menutitle]]', $menutitle, $resource->get('longtitle'))); //для longtitle (поле ресурса)
                  //....
                  $resource->save();
              }
      }
        Jack OXO
        14 ноября 2018, 14:54
        0
        Большое спасибо, по-тихоньку меняет, 3 часа уже (больше 15к страниц).
        Илья Уткин
        14 ноября 2018, 21:47
        0
        Тоже постоянно третий параметр упускаю)
Иван
13 ноября 2018, 19:22
0
А то оно не выводится в поиске mSearch2.


Василия удивите этим — уверяю, он удивится)
    Jack OXO
    14 ноября 2018, 10:07
    0
    Я уже писал, он сказал:
    Это не касается поиска, это вопрос по парсеру MODX