Помогите с runSnippet через custom connector

Добрый вечер.
Проблема состоит в том что не как не получается запустить сниппет через runSnippet, все время получаю 505-ю. Хотя все остальное работает.
Пример файла коннектора к которому идет обращение:

if ($_REQUEST['action'] == 'web/mainswitch') {
        @session_cache_limiter('public');
    define('MODX_REQP',false); //отключаем проверку прав пользователя для нашего коннектора
}

require_once dirname(dirname(dirname(dirname(__FILE__)))).'/config.core.php';
require_once MODX_CORE_PATH.'config/'.MODX_CONFIG_KEY.'.inc.php';
require_once MODX_CONNECTORS_PATH.'index.php'; //подключаем необходимые файлы
//require_once MODX_CORE_PATH.'model/modx/modx.class.php';
//$modx = new modX();
$useradditsCorePath = $modx->getOption('core_path').'components/siterequest/';

if ($_REQUEST['action'] == 'web/mainswitch') {
    $version = $modx->getVersionData();
    if (version_compare($version['full_version'],'2.1.1-pl') >= 0) {
        if ($modx->user->hasSessionContext($modx->context->get('key'))) {
            $_SERVER['HTTP_MODAUTH'] = $_SESSION["modx.{$modx->context->get('key')}.user.token"];
        } else {
            $_SESSION["modx.{$modx->context->get('key')}.user.token"] = 0;
            $_SERVER['HTTP_MODAUTH'] = 0;
        }
    } else {
        $_SERVER['HTTP_MODAUTH'] = $modx->site_id;
    }
    $_REQUEST['HTTP_MODAUTH'] = $_SERVER['HTTP_MODAUTH'];
}
$_REQUEST['ctx'] = 'web';

$path = $useradditsCorePath.'processors/';
$modx->request->handleRequest(array(
    'processors_path' => $path,
    'location' => '',
));

А вот пример процессора для обработки
$key = $_REQUEST['key'];

switch ($key) {
    case 'new':
        $outer = $modx->runSnippet('getProducts', array(
           'parents' => 9,
           'depth' => 4,
           'limit' => 6,
           'sortby' => 'publishedon',
           'sortdir' => 'DESC',
           'includeTVs' => 1,
           'where' => '{"template":4,"hidemenu":0}',
           'includeTVList' => 'img,price,old_price',
           'tpl' => 'itemTpl',
           'tvFilters' => '{"new":1}'
        ));
    break;
    case 'pop':
        $outer = $modx->runSnippet('getProducts', array(
           'parents' => 9,
           'depth' => 4,
           'limit' => 6,
           'sortby' => 'publishedon',
           'sortdir' => 'DESC',
           'includeTVs' => 1,
           'where' => '{"template":4,"hidemenu":0}',
           'includeTVList' => 'img,price,old_price',
           'tpl' => 'itemTpl',
           'tvFilters' => '{"pop":1}'
        ));
    break;
    case 'sale':
        $outer = $modx->runSnippet('getProducts', array(
           'parents' => 9,
           'depth' => 4,
           'limit' => 6,
           'sortby' => 'publishedon',
           'sortdir' => 'DESC',
           'includeTVs' => 1,
           'where' => '{"template":4,"hidemenu":0}',
           'includeTVList' => 'img,price,old_price',
           'tpl' => 'itemTpl',
           'tvFilters' => '{"sale":1}'
        ));
    break;
}

return $outer;

Разницы какой сниппет пытаться запустить нет, всегда выдается 505-я.

Может вы что посоветуете?
Михаил
09 ноября 2012, 13:40
modx.pro
1
1 929
0

Комментарии: 2

Василий Наумкин
09 ноября 2012, 18:17
0
1. Пожалуйста, отредактируйте свой вопрос, используя тег <cut/>.

2. Вам должна помочь вот эта заметка и ее более продвинутый вариант.
Обратите внимание на логин через процессор во второй заметке. Это гораздо лучше чем ваши манипуляции с сессией.
    Михаил
    09 ноября 2012, 20:33
    0
    Спасибо, буду разбираться.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      2