Jump to main content Jump to doc navigation

В некоторых случаях вам нужно будет разобрать снипетты, чанки и теги лексиконов вне регулярного парсинга потока. Например, при создании содержимого электронной почты или при создании 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

  • modmore
  • modmore
  • Jens Wittmann – Gestaltung & Entwicklung
  • Raffy
  • eydolan
  • Digital Penguin
  • Fabian Christen
  • Dannevang Digital
  • deJaya
  • Sepia River Studios
  • Following Sea
  • Anton Tarasov
  • Lefthandmedia
  • Nick Clark
  • Chris Fickling
  • Murray Wood
  • YJ
  • CrewMark
  • Richard

Budget

$305 per month—let's make that $500!

Learn more