Вызов через AJAX pdoPage c включенным ajax mode

Здравствуйте!
Мастерю небольшой магазинчик, в котором 8 категорий и не так много товаров, и заказчик захотел, чтобы вся работа с товарами была на одной странице, то есть есть список категорий, при клике на категорию происходит ajax запрос с id категории, сниппет запускает msProducts из нужной категории и все работает хорошо. Однако, если обернуть вызов в pdoPage с включенным ajax-mode, то ответ приходит пустой. При этом, если ajax-mode отключен, то данные приходят. Я подозреваю, что все дело в том, что я вызываю через AJAX сниппет с AJAX, и он ничего не понимает, что делать, как и я :(
Обращение к сниппету на JS делаю так:
<script>
    var trigger = $(this).data('trigger');
    var action = $(this).data('action');
   var resultHTML = '#products';
$.post('ajax.php', {
        trigger: trigger,
        action: action
    }, function(data) {
        $(resultHTML).html(data);
    });
</script>
Сниппет ajax.php (все стандартно, по заметке Василия):

<?php
define('MODX_API_MODE', true);
require 'index.php';
$pdo = $modx->getService('pdoTools');
if (empty($_SERVER['HTTP_X_REQUESTED_WITH']) || $_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest') {
    return;
}

if (empty($_POST['trigger'])) {
    return;
}
$res = '';
    switch ($_POST['trigger']) {
        case 'cancel-category':
            $res = $pdo->runSnippet('pdoPage',array(
            'element' => 'msProducts',
            'limit' => '20',
            'where' => '{"Data.popular":"1"}',
            'tpl' => '@FILE:chunks/category/products_row.tpl',
            'ajaxMode' => 'default',
            'ajaxTplMore' => '@INLINE <button class="btn btn-warning btn-more">Загрузить еще</button>'
            ));
            break;
    }
if (!empty($res)) {
    die($res);
}
Дмитрий
01 октября 2016, 13:52
modx.pro
1 540
0
Поблагодарить автора Отправить деньги

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

Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
0