Если эти поддомены разбросаны по разным контекстам, то будет проще сделать. Добавить в таблицу заказов колонку Контекст и в процессоре получения заказов добавить в условие списка контекстов. Что-то типа такого:
if(!$this->modx->hasPermission('shop.view_all_orders')){ $ctxs = array(); foreach($modx->getCollection('modContext') as $context){ if($context->checkPolicy('shop.view_orders')){ $ctxs[] = $context->id; } } if($ctxs){ $c->where(array( 'context_key:in' => $ctxs[], )); } else{ $c->where(array( '1=2', )); } }