[[*rightNavBoxCheck1:empty=`[[$rightnav1]]`:notempty=`[[!chunkListParser]]`]]
[[!chunkListParser?chunks=`[[*rightNavBoxCheck1]]`]]
[[*rightNavBoxCheck1:empty=`[[$rightnav1]]`:notempty=`[[!chunkListParser?chunks=`[[*rightNavBoxCheck1]]`]]`]]
[[*rightNavBoxCheck1:empty=`[[$rightnav1]]`:notempty=`[[$CHUNK]]`]]
[[!chunkListParser?chunks=`[[*rightNavBoxCheck1]]`]]
[[*rightNavBoxCheck1:notempty=`[[!chunkListParser?chunks=`[[*rightNavBoxCheck1]]`]]`:empty=`[[$rightnav1]]`]]
<?php /* Name: ChunkIf Author: Duncan Lock <[email protected]> Version: 0.2 Date: 21/07/2008 Description: <strong>0.2</strong> Outputs the contents of the chunk passed in $trueChunk if the template variable passed in $tv is set (i.e. has a value). Otherwise outputs the contents of the $falseChunk chunk. Expects $tv to be the name of the Template Variable to test, and $trueChunk & $falseChunk to be names of chunks. eg: [[ChunkIf? &tv=`tvname` &trueChunk=`chunkname` &falseChunk=`chunkname` ]] - Long version outputs $trueChunk if $tv has a value, otherwise outputs $falseChunk. [[ChunkIf? &tv=`tvname` &trueChunk=`chunkname` ]] - This short version outputs an empty string if $tv has no value. [[ChunkIf? &tv=`tvname` ]] - This very short version attempts to output the contents of a chunk with the same name as $tv [[ChunkIf? &tv=`tvname` &debug=`1` ]] - Switches on debugging output - output's HTML comments for debugging. */ // get tv name $tv = isset( $tv ) ? $tv : ''; // get current page ID $id = isset( $id )? $id: $modx -> documentObject['id']; // Get the value of $tv $tvarray = $modx -> getTemplateVarOutput( $tv, $id ); $value = ''.trim($tvarray[$tv]); if ($debug) { $dtmp = '<!--'; $dtmp .= 'tv: '.$tv.', '; $dtmp .= 'id: '.$id.', '; $dtmp .= 'value: '.$value; $dtmp .= '-->'; echo $dtmp; } // Decide which chunk to return. if ($value == '') { // get chunk to return if $tv has no value $falseChunk = isset( $falseChunk )? $modx -> getChunk( $falseChunk ): ''; return $falseChunk; } else { // get chunk to return if $tv has a value if (isset( $trueChunk )) { $trueChunk = $modx -> getChunk( $trueChunk ); } else { // Attempt to get the chunk with the same name as $tv $trueChunk = $modx -> getChunk( $tv ); } return $trueChunk; } ?>