Как вызвать pdoPage если в параметрах указан пользовательский класс ?
Здравствуйте, подскажите пожалуйста, с помощью CMP Generator сгенерировал объекты пользовательских таблиц БД (их две таблицы). Потом получилось вызвать pdoPage из ресурса, и что бы он вытащил данные из одной пользовательской таблицы, сделал это таким образом:
В самом ресурсе вызываю pdoPage
Собственно должно работать это так:
Я просто думаю может этот файл php не знает про мой класс MainSeviceName, может его нужно тоже подключить. Но а тогда почему я могу записать в таблицу БД данные, таким вот образом.
Подскажите пожалуйста что я тут делаю не так, почему вызывая pdoPage не возвращаются записи из БД, если я его вызываю из своего файла php.
Заранее благодарю за ответ.
В самом ресурсе вызываю 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, то никаких записей не получаю.Собственно должно работать это так:
- Идёт 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.
Заранее благодарю за ответ.
Комментарии: 2
Привет, замени
return $output;
на echo $output;
Благодарю за ответ, сейчас попробую
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.