[[!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>`