// Подключаем
define('MODX_API_MODE', true);
require $_SERVER['DOCUMENT_ROOT'].'/index.php';
// Включаем обработку ошибок
$modx->getService('error','error.modError');
$modx->setLogLevel(modX::LOG_LEVEL_INFO);
$modx->setLogTarget(XPDO_CLI_MODE ? 'ECHO' : 'HTML');
//Проверяем работу:
if ($res = $modx->getObject('modResource', 1)) {
print_r($res->toArray());
}
Теперь можно использовать все инструменты, словно вы работаете в сниппете.
Обработка чанков в стороннем файле
Для того чтобы просто выводить чанки без сниппетов, и так чтобы обрабатывался синтаксис fastFields мне потребовалось немного потанцевать с бубном и взять решение из pdoTools. Я добавил нижеследующий код после подключения MODX. А для вывода чанка использовал вот такую конструкцию: echo $pdoFetch->getChunk($chank_name, $script_props);
/** @var pdoFetch $pdoFetch */
$fqn = $modx->getOption('pdoFetch.class', null, 'pdotools.pdofetch', true);
$path = $modx->getOption('pdofetch_class_path', null, MODX_CORE_PATH . 'components/pdotools/model/', true);
if ($pdoClass = $modx->loadClass($fqn, $path, false, true)) {
$pdoFetch = new $pdoClass($modx, array());
} else {
return false;
}
$pdoFetch->addTime('pdoTools loaded');
$output = $pdoFetch->run();
$log = '';
if ($modx->user->hasSessionContext('mgr') && !empty($showLog)) {
$log .= '<pre class="pdoResourcesLog">' . print_r($pdoFetch->getTime(), 1) . '</pre>';
}
Комментарии (1)
Не писать ответ