[[!HasChildren? &id = `23`]]
<?php $document = $modx->getObject('modResource', $id); if($document){ return $document->hasChildren()? 'hasChildren' : 'noChildren'; } return '';
<?php $document = $modx->getObject('modResource', $id); if($document){ return $document->get('isfolder')? 'hasChildren' : 'noChildren'; } return '';
The code above seems like overkill to me (and it makes me nervous to use PHP reserved words as variable names):
[[!HasChildren? &id = `23`]]
<?php $document = $modx->getObject('modresource', $id); if($document){ return $document->hasChildren()? 'hasChildren' : 'noChildren'; } return '';
or, if you want to use isfolder instead:
<?php $document = $modx->getObject('modresource', $id); if($document){ return $document->get('isfolder')? 'hasChildren' : 'noChildren'; } return '';
The code above seems like overkill to me (and it makes me nervous to use PHP reserved words as variable names):
[[!HasChildren? &id = `23`]]
<!--?php $document = $modx--->getObject('modResource', $id); if($document){ return $document->hasChildren()? 'hasChildren' : 'noChildren'; } return '';
or, if you want to use isfolder instead:
<!--?php $document = $modx--->getObject('modResource', $id); if($document){ return $document->get('isfolder')? 'hasChildren' : 'noChildren'; } return '';
$document = $modx->getObject('modResource', $id); if($document){ $c = $modx->newQuery('modResource'); $c->where(array( 'parent' => $document->get('id'), 'published' => '1', 'deleted' => '0' )); $has_children = $modx->getCount('modResource',$c); return $has_children ? 'hasChildren' : 'noChildren'; }
you can try this:
$document = $modx->getObject('modResource', $id); if($document){ $c = $modx->newQuery('modResource'); $c->where(array( 'parent' => $document->get('id'), 'published' => '1', 'deleted' => '0' )); $has_children = $modx->getCount('modResource',$c); return $has_children ? 'hasChildren' : 'noChildren'; }
&tpl=`@INLINE <span class="[[!hasChildren?&id=`[[+id]]`]]"><a href="[[+link]]">[[+menutitle:]]</a>[[+wrapper]]</span>`