// Подключаем 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)
Не писать ответ