Tramp1357 20 декабря 2015 0 1
Добрый день.
Делаю мультидоменный сайт, на котором стоит shopmodxbox.
Встал вопрос разделения заказов, сделанных с разных поддоменов (пока только основной домен и поддомен kz, но возможно, будут еще).
На каждом поддомене своя группа администраторов.
Нужно, чтобы пользователь (менеджер) определенной группы видел только заказы, сделанные с поддомена, закрепленного за этой группой.

Можно ли такое сделать без глобального изменения движка?
1 комментарий
Fi1osof1
Fi1osof 21 декабря 2015г в 11:35 #
Если эти поддомены разбросаны по разным контекстам, то будет проще сделать. Добавить в таблицу заказов колонку Контекст и в процессоре получения заказов добавить в условие списка контекстов. Что-то типа такого:
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',
        ));
    }
}
Tramp13571
Tramp1357 21 декабря 2015г в 22:31 #
Спасибо, буду пробовать.
Fi1osof1
Fi1osof 21 декабря 2015г в 22:44 #
Не за что.
Авторизуйтесь или зарегистрируйтесь (можно через соцсети ), чтобы оставлять комментарии.