Как вызвать pdoPage если в параметрах указан пользовательский класс ?

Здравствуйте, подскажите пожалуйста, с помощью CMP Generator сгенерировал объекты пользовательских таблиц БД (их две таблицы). Потом получилось вызвать pdoPage из ресурса, и что бы он вытащил данные из одной пользовательской таблицы, сделал это таким образом:
В самом ресурсе вызываю pdoPage
[[!pdoPage?
        &class=`MainSeviceName`
        &tpl=`tpl.listServices`
        &element=`Getdb`
    ]]
В параметре &element находится сниппет Getdb, и вот его код:
<?php
    $path = MODX_CORE_PATH . 'components/pdotools/model/pdotools/';
    $pdoFetch = $modx->getService('pdofetch','pdoFetch', $path, $scriptProperties);
    $pdoFetch->setConfig($scriptProperties);
    return $pdoFetch->run();
И всё в порядке, все записи из таблицы получаю, но если тоже самое делать в отдельном файле php с подключенным API MODX, то никаких записей не получаю.

Собственно должно работать это так:
  1. Идёт Ajax запрос на сервер.
  2. Сервер должен вернуть записи из БД.
  3. И потом я эти записи вставляю в нужное место.
Вот он Ajax запрос:
$(document).ready(function() {
	$("#formServices").change(function() {
		var IDServices = $("#valServices").val();
		$.ajax({
			dataType: "HTML",
			type: "POST",
			url: "/assets/template/adm/db_main.php",
			data: {"ID_serv":IDServices},
			success: function(data) {
				alert(data);
			}
		});
	});
});
А вот файл php который должен вернуть записи из БД с помощью pdoPage
<?php
    /* include MODX_API BEGIN */
    define('MODX_API_MODE', true);
    require_once($_SERVER['DOCUMENT_ROOT'].'/index.php');
    $modx=new modX();
    $modx->initialize('web');
    /* include MODX_API END */
    $output = $modx->runSnippet('pdoPage',array(
    							'class' => 'MainSeviceName',
    							'tpl' => 'tpl.listServices',
    							'element' => 'Getdb'));
    return $output;
Но никаких записей из БД я таким образом не получаю.
Я просто думаю может этот файл php не знает про мой класс MainSeviceName, может его нужно тоже подключить. Но а тогда почему я могу записать в таблицу БД данные, таким вот образом.
$sheet = $modx->newObject('MainSeviceName');
$sheet->save();
После этого вызова в таблице появляется новая запись.
Подскажите пожалуйста что я тут делаю не так, почему вызывая pdoPage не возвращаются записи из БД, если я его вызываю из своего файла php.
Заранее благодарю за ответ.
Сергей Хлопов
19 июля 2018, 08:06
modx.pro

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

Володя
19 июля 2018, 08:19
0
Привет, замени
return $output;
на
echo $output;
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
2