<?php
$props = $modx->getOption('props',$scriptProperties,'');
$tpl = $modx->getOption('chunk',$scriptProperties,'');
$ctx = $modx->context->key;
$output = array();
$tpl_ctx = $tpl.'-'.$ctx;
$tpl_default = $tpl.'-default';
// convert json to array
$propsarr = $modx->fromJSON($props);
// check if chunk exists
$chunk_exists = isset($tpl) ? $modx->getChunk($tpl_ctx): '';
if ($chunk_exists == ''){
//chunk does not exist
$output[] = $modx->getChunk($tpl_default, $propsarr);
}else{
// chunk does exist
$output[] = $modx->getChunk($tpl_ctx, $propsarr);
}
return implode("\n", $output);[[lpParseChunk?
&chunk=`lp-tpl-products`
&props=`{
"rows": [[jsonencode? &input=`<!-- beginn outer row -->
[[lpParseChunk?
&chunk=`lp-tpl-products-item`
&props=`{
"prod_title": [[jsonencode? &input=`Das neue Album`]],
"prod_name": [[jsonencode? &input=`Das neue Album`]],
"prod_link": [[jsonencode? &input=`http://www.google.com`]],
"prod_date": [[jsonencode? &input=`Ab jetzt`]],
"cover_art": [[jsonencode? &input=`/assets/uploads/landingpages/covers/56b08683481fd-cover-single.jpg`]],
"buy_links": [[jsonencode? &input=`<!-- beginn inner repeater -->
<!-- inside start -->
[[lpParseChunk?
&chunk=`lp-tpl-buylinks-item`
&props=`{
"link" : [[jsonencode? &input=`http://www.amazon.com`]],
"link_title" : [[jsonencode? &input=`Amazon Box`]]
}`
]]
<!-- inside end -->
<!-- inside start -->
[[lpParseChunk?
&chunk=`lp-tpl-buylinks-item`
&props=`{
"link" : [[jsonencode? &input=`http://www.amazon.com`]],
"link_title" : [[jsonencode? &input=`Amazon CD`]]
}`
]]
<!-- inside end -->
<!-- inside start -->
[[lpParseChunk?
&chunk=`lp-tpl-buylinks-item`
&props=`{
"link" : [[jsonencode? &input=`http://www.amazon.com`]],
"link_title" : [[jsonencode? &input=`Amazon LP`]]
}`
]]
<!-- inside end -->
<!-- end inner repeater -->`]]
}`
]]
<!-- end outer row -->`]]
}`
]]<?php return json_encode($input);
This question has been answered by sonicpunk. See the first response.
[[lpParseChunk?
&chunk=`lp-tpl-products-item`
&prod_title=`Das neue Album`Where I get into trouble is when the outer "rows" property gets more than one input.Sounds like somewhere in your JSON, it is not accepting an array of rows. Perhaps your JSON is broken because it's missing a comma between elements.
[[$lp-tpl-products-item-[[*context_key]]? &prod_title=`Das neue Album`]]
$result = $modx->getChunk('MyChunk', $scriptProperties);