We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 26730
    • 1 Posts
    Создаю новый сниппет такого содержания:
    <?php
    // Подключение библиотек
    include ('modx_integration.php');
    
    $Mdl = new Mdl_Modx;
    $report = $Mdl->newUserAdd();
    
    // Return
    return $report;
    ?>


    класс в modx_integration.php имеет следюущий вид
    class Mdl_Modx {
    public function __construct() {
        require_once( dirname(__FILE__).'/mdl/config.php' );
    }
    }


    файл /mdl/config.php имеет такой вид
    $CFG->dirroot   = 'D:\xampp\htdocs\site';
    require_once("$CFG->dirroot/lib/setup.php");


    в lib/setup.php есть такие строки
    ...
    global $CFG;
    ...
    if (!isset($CFG->dirroot)) {
        trigger_error('Fatal: $CFG->dirroot is not configured! Exiting.');
        die;
    }


    так вот когда я запускаю файл modx_integration.php напрямую в браузере, то все ок, а когда он вызывается сниппетом. то получаю шибку от modx вида
    « MODx Parse Error »
    MODx encountered the following error while attempting to parse the requested resource:
    « PHP Parse Error »
     
    PHP error debug
      Error: 	Fatal: $CFG->dirroot is not configured! Exiting.	 
      Error type/ Nr.: 	User Notice - 1024	 
      File: 	D:\xampp\htdocs\site\lib\setup.php	 
      Line: 	88	 
      Line 88 source: 	trigger_error('Fatal: $CFG->dirroot is not configured! Exiting.'); 

    т.е. как бы modx не видит переменных $CFG, которые объявлены глобальными в коде lib/setup.php выше

    Подскажите. что я делаю не так или варианты решения проблемы.
    Поменять файл lib/setup.php не могу - сторонняя библиотека.

    С ModX ранее не работал.
      Без примера ничему не выучишься smiley .