Подключить MODX в стороннем PHP файле

// Подключаем
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)

  1. Amsterdam 31 мая 2019, 18:16 # 0
    Авторизоваться то как?
    *Комментарий будет опубликован после проверки модератором

    Комментарии easyComm

    Станислав 17 марта 2018, 22:34

    Мне кажется в этоv куске строке что то не так!? -->...нужно заменить return на echo в тех...

    [MODX] Генератор настроек MIGX

    Документация на русском по MODX MIGX

    [JS] Маска для ввода телефона +7(___)___-__-__

    [MODX] Импорт и экспорт в MiniShop2. Реализация 1

    [MODX] Подсказки по работе и заготовки для MiniShop2

    jQuery.Maskedinput js - документация на русском с примерами

    Как включить HTTPS (SSL) в MODX - Подробная инструкция

    [MODx, miniShop2] Генерация YML для выгрузки в маркет

    [MODX] Примеры работы с API

    [OpenCart] Вывести на главную все категории с картинками

    [MODX] Сайт на обслуживании (выключить сайт)

    [MODX, MIGX] Примеры использования

    Расширение свойств товаров minishop2

    Пример перевода с помощью Yandex Translate API

    Универсальная форма обратной связи — feedBackForm

    [MODx, Gallery] Галерея. Вывести обложки альбомов и фотографии

    [MODX, MiniShop2] Примеры выборки where, optionFilters, innerJoin

    [Opencart] Вернуть английский язык, если вы его удалили

    [OpenCart] Вывести модуль напрямую через контроллер

    Отключить автозаполнение input

    [MODX] pThumb - ресайз изображений. Примеры использования.

    [MODX, MIGX] Вывести getImageList только если он не пустой

    [MODX, MIGX] Тип поля "Список ресурсов" (resourcelist) с ограничением по родителю (parents)

    [MODX, Quip] Более рабочий вариант

    Настройка Webpack - несколько точек входа и разделение на чанки

    Все записи

    Наш сайт использует куки, нажмите «ОК» если вы не против
    OK