Parse only content
Приветствую!
Идея такая, есть плагин на событие OnBeforeDocFormSave, при сохранение ресурса проверяется контент, если он изменился то записать его в «другое место». Как бы ничего сложного:
Подскажите пожалуйста этот момент
Нашел, что в EVO была готовая функция $modx->parseDocumentSource($data['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']);
Комментарии: 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);
думаю, что параметры функции сами найдете
Спасибо Алексей :)
Немного разнообразив запросы в гугле, тоже наткнулся на такое =)
Немного разнообразив запросы в гугле, тоже наткнулся на такое =)
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.