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, 13:07
modx.pro
1
1 244
0

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

Наумов Алексей
28 апреля 2017, 20:08
1
+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);
думаю, что параметры функции сами найдете
    Константин Ильин
    29 апреля 2017, 00:35
    0
    Спасибо Алексей :)
    Немного разнообразив запросы в гугле, тоже наткнулся на такое =)
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    2