Если эти поддомены разбросаны по разным контекстам
Если эти поддомены разбросаны по разным контекстам, то будет проще сделать. Добавить в таблицу заказов колонку Контекст и в процессоре получения заказов добавить в условие списка контекстов. Что-то типа такого:
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',
));
}
}