Simple Example:ide
Lets process this chunk and output its value. We have this Chunk, called "WelcomeChunk":this
<p>Welcome [[+name]]!</p>
We'll put this in our Snippet:spa
$output = $modx->getChunk('WelcomeChunk',array( 'name' => 'John', )); return $output;
So every key in the associative array passed to the getChunk method corresponds to an available placeholder inside the chunk, e.g. [[+name]]code
<p>Welcome John!</p>
In our Chunk:orm
<a href="http://site.com/profile?user_id=[[+user.id]]!">User Details</a>
In our Snippet:blog
$output = $modx->getChunk('UserLink',array( 'user' => array('id' => 123) ); return $output;
Sometimes you need to parse a string using the MODX parser – this does not use getChunk, but it is related. Using the MODX parser is a bit slower than using a simple str_replace function, but it does let you use complex placeholders (e.g. to include another Chunk) and output filters etc. The trick is to create a temporary Chunk object, then run the process method on it.ip
// The formatting String $tpl = 'Hello, my name is [[+name]]'; // Properties $props = array('name' => 'Bob'); // Create the temporary chunk $uniqid = uniqid(); $chunk = $modx->newObject('modChunk', array('name' => "{tmp}-{$uniqid}")); $chunk->setCacheable(false); $output = $chunk->process($props, $tpl);