Парсинг MODX тегов
Последнее обновление Jun 23rd, 2019 | История страницы | Улучшить эту страницу | Сообщить о проблеме
В некоторых случаях вам нужно будет разобрать снипетты, чанки и теги лексиконов вне регулярного парсинга потока. Например, при создании содержимого электронной почты или при создании API, который должен возвращать полностью обработанный контент.
При этом вы можете заметить, что modX::getChunk обрабатывает только обычные [[+placeholder]]
, а не все другие допустимые теги, содержащиеся в чанке.
В этих случаях вы можете использовать modParser
для завершения обработки:
// Сначала визуализируем чанк, который обрабатывает предоставленные плейсхолдеры
$content = $modx->getChunk('MyChunkName', ['foo' => 'bar']);
// Получаем экземпляр modParser
$parser = $modx->getParser();
// Определяем, как глубоко мы можем пойти
$maxIterations= (integer) $modx->getOption('parser_max_iterations', null, 10);
// Разобрать кэшированные теги, оставив необработанные теги на месте
$parser->processElementTags('', $content, false, false, '[[', ']]', [], $maxIterations);
// Разобрать некэшированные теги и удалить все, что не удалось обработать
$parser->processElementTags('', $content, true, true, '[[', ']]', [], $maxIterations);
return $content;
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$301 per month—let's make that $500!
Learn more