@EVAL return $modx->runSnippet('listResourcesContext',array('setting_key' => 'site_references'));
<?php $contextKey = $modx->getOption('setting_key', $scriptProperties, 'default'); $document = $modx->getObject('modResource',$modx->resource->get("id")); $key = $document->get('context_key'); $ctx = $modx->getContext($key); $parent = $modx->getOption('parent',$scriptProperties,$ctx->getOption($contextKey)); $parentObj = $modx->getObject('modResource',$parent); if (!($parentObj instanceof modResource)) { return ''; } $resArray = $parentObj->getMany('Children'); $resources = array(); foreach($resArray as $res) { if ($res instanceof modResource) { $resources[] = $res->get('pagetitle') . '==' . $res->get('id'); } } $out = implode("||",$resources); return $out;
This question has been answered by donshakespeare. See the first response.
<?php if(is_object($modx->resource)){ //<--check first if this is a resource before we start getting and giving anything $document = $modx->getObject('modResource',$modx->resource->get("id")); $contextKey = $modx->getOption('setting_key', $scriptProperties, 'default'); $key = $document->get('context_key'); $ctx = $modx->getContext($key); $parent = $modx->getOption('parent',$scriptProperties,$ctx->getOption($contextKey)); $parentObj = $modx->getObject('modResource',$parent); if (!($parentObj instanceof modResource)) { return ''; } $resArray = $parentObj->getMany('Children'); $resources = array(); foreach($resArray as $res) { if ($res instanceof modResource) { $resources[] = $res->get('pagetitle') . '==' . $res->get('id'); } } $out = implode("||",$resources); return $out; }