Показать больше продуктов, используя AJAX в MODx - PullRequest
0 голосов
/ 14 июля 2020

Я хочу получить товар по запросу AJAX. Проблема в том, что товары фильтруются по городам. Ниже приводится содержание сценария PHP, который возвращает AJAX.

Сценарий возвращает ошибку: Не удалось загрузить класс: cfField из mysql .cffield. [pdoTools] Ошибка 42S22: Неизвестный столбец «Pprice.value» в «списке полей»

Я не понимаю, в чем может быть проблема. Подскажите, кто сталкивался или может догадаться, в чем может быть причина.

define('MODX_API_MODE', true);
require_once($_SERVER['DOCUMENT_ROOT'].'/index.php');
$modx=new modX();
$modx->initialize('web');

$modx->getService('error','error.modError');
$modx->setLogLevel(modX::LOG_LEVEL_INFO);
$modx->setLogTarget(XPDO_CLI_MODE ? 'ECHO' : 'HTML');

if ($_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest') {
    return;
}
 
$output = $modx->runSnippet('pdoPage', [
    'element' => 'msProducts',
    'sortby' => 'createdon',
    'sortdir' => 'DESC',
    'tpl' => 'tpl.msProducts.row_main',
    'offset' => 8,
    'limit' => 50,
    'includeTVs' => 'smr_price,msk_price,dmg_price,sob1',
    'parents' => 0,
    'leftJoin' => '{
        "Pprice" : {
            "class" : "cfField",
            "alias" : "Pprice",
            "on" : "Pprice.city_id = ' . $modx->getPlaceholder('cf.current_city.id') .' AND Pprice.placeholder = CONCAT(\'[pre]\', msProduct.id, \'_price[/pre]\')"
        }
    }',
    'select' => '{ "Pprice" : "Pprice.value" }',
    'where' => '{"Pprice.value:>":"0","sob1:=":"День рождения"}'
]);

print_r($output);
...