[MODx] Подключить 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 .= '
' . print_r($pdoFetch->getTime(), 1) . '
'; }

Комментарии (1)

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

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

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

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

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

    [MODx, MIGx] Документация на русском по MIGX

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

    [MODx] minishop2 tips

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

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

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

    [MODx] Подсказки по API

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

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

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

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

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

    [PHP, JSON] Пример перевода с помощью Yandex Translate API

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

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

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

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

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

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

    [MODx] Создать источник файлов

    Красивое адаптивное меню под pdoMenu

    [MODx] Вывод tv-параметров в формате [название TV] - [значение TV]

    [PHP] Простое логирование

    [MODX] Вывести список всех опций MiniShop2

    Все записи