Parse only content Новый


Приветствую!

Идея такая, есть плагин на событие OnBeforeDocFormSave, при сохранение ресурса проверяется контент, если он изменился то записать его в «другое место». Как бы ничего сложного:
case 'OnBeforeDocFormSave':
if ($mode == 'upd'){
	$oldRes = $modx->getObject('modResource', $data['id']);
	$oldRes = $oldRes->toArray();
	if($oldRes['content'] != $data['content'] ){
		/*записать контент в "другое место" */
	}
}
Но теперь возникла ситуация, если в content например содержится плейсхолдер или tv или вообще сниппет то как получить на выходе готовый content с распарсенными тегами?
Подскажите пожалуйста этот момент

Нашел, что в EVO была готовая функция $modx->parseDocumentSource($data['content']);
28 апреля 2017, 16:07    Константин Ильин   G+  
1    141 0

Комментарии (2)

  1. Наумов Алексей 28 апреля 2017, 20:08 # +2
    См.

    // get the max iterations tags are processed before processing is terminated 
    $maxIterations= (integer) $modx->getOption('parser_max_iterations', null, 10);
     
    // parse all cacheable tags first 
    $modx->getParser()->processElementTags('', $content, false, false, '[[', ']]', array(), $maxIterations);
     
    // parse all non-cacheable and remove unprocessed tags 
    $modx->getParser()->processElementTags('', $content, true, true, '[[', ']]', array(), $maxIterations);
    думаю, что параметры функции сами найдете
    1. Константин Ильин 29 апреля 2017, 00:35 # 0
      Спасибо Алексей :)
      Немного разнообразив запросы в гугле, тоже наткнулся на такое =)
    Вы должны авторизоваться, чтобы оставлять комментарии.