We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 16111
    • 101 Posts
    Хай всем! У меня такая проблема: как создать объект класса DocumentParser не в интерфейсе MODX, а в простом скрипте. Я делал include странички с этим классом, но результатов это не дало. Заранее благодарен!
      Basic Manager
      Хочешь ускорить развитие Basic Manager? Хочешь создавать невероятно красивые фотогалереи и слайдшоу за 1 клик? Пожертвуй деньги на развитие плагина, WMR: R148348561691. Помни, что даже 50 рублей являются стимуляцией к разработке.

      Я в контакте
      • 26709
      • 4 Posts
      
      //$_api_path - путь к корню сайта
      
      include_once($_api_path.'/manager/includes/config.inc.php');
      include_once($_api_path.'/manager/includes/document.parser.class.inc.php');
      
      class MODxAPI extends DocumentParser {
      
      	function MODxAPI() {
      
      		$this->startSession();
      		parent::DocumentParser();
      
      		// set some parser options
      		$this->minParserPasses = 1;		// min number of parser recursive loops or passes
      		$this->maxParserPasses = 10;	// max number of parser recursive loops or passes
      		$this->dumpSQL = false;
      		$this->dumpSnippets = false;
      
      		// set start time
      		$this->tstart = $this->getMicroTime();	// feed the parser the execution start time
      
      	}
      
      	// execute parser and return results - To be finalized
      	function executeDocument($docid = 0) {
      		ob_start();
      			ob_start();
      				$tmp = $_REQUEST['id']; // save old id
      				$_REQUEST['id'] = $docid;
      				$this->executeParser();
      		$html = ob_get_contents();
      		ob_end_clean();
      		$_REQUEST['id'] = $tmp; // restore old id
      		return $html;
      	}
      
      	// connect to MODx database - use $modx->db->query();
      	function connect() {
      		 $this->db->connect();
      	}
      
      	function startSession() {
      		startCMSSession();
      	}
      }
      
      $modx = new MODxAPI();
      
      


      Далее можете уже пользоваться всеми преимуществами этого класса, например, вызывать документы, чанки, сниппеты. Вам доступно все API.

      Причем в этом примере есть дополнение к API, функция executeDocument. Если ее вызвать так: echo $modx->executeDocument(ИД документа) то а результате вы получите полностью готовую страницу с указанным ИД
        • 16111
        • 101 Posts
        Огромное спасибо! smiley
          Basic Manager
          Хочешь ускорить развитие Basic Manager? Хочешь создавать невероятно красивые фотогалереи и слайдшоу за 1 клик? Пожертвуй деньги на развитие плагина, WMR: R148348561691. Помни, что даже 50 рублей являются стимуляцией к разработке.

          Я в контакте
          • 24707
          • 16 Posts
          Прошу подсказать как пользоваться этим классом. А то что не могу подружится с ajax в MODX evo.
          Суть в следующем, я с помощью плагина ManagerManager создаю свой тип TV. Вот в нем я хотел использовать ajax. Например зависимые select. В данный момент я зарание загружаю все данные, а хотелось бы использовать ajax. И сохранять данные в свою таблицу с помощью ajax.