码迷,mamicode.com
首页 > 其他好文 > 详细

[MODx] 8. Snippet get data, chunk display

时间:2015-01-08 00:48:11      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:

Simple Example:

Lets process this chunk and output its value. We have this Chunk, called "WelcomeChunk":

<p>Welcome [[+name]]!</p>

 

We‘ll put this in our Snippet:

$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]]

<p>Welcome John!</p>

 

Nested $properties

In our Chunk:

<a href="http://site.com/profile?user_id=[[+user.id]]!">User Details</a>

 

In our Snippet:

$output = $modx->getChunk(‘UserLink‘,array(
   ‘user‘ => array(‘id‘ => 123)
);
return $output;

 

Parsing a String

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.

// 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);

 

See: http://rtfm.modx.com/revolution/2.x/developing-in-modx/other-development-resources/class-reference/modx/modx.getchunk

[MODx] 8. Snippet get data, chunk display

标签:

原文地址:http://www.cnblogs.com/Answer1215/p/4209701.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!