Slyweb
На разработку сайта! Скидки 50%!

ModX Revo - Загрузка статьи из фронтенда в бакэнед

jQuery и CSS

Пример загрузки статьи с сайта в админ панель Modx Revo. После загрузки пользователь будет перенаправлен на страницу с id "251". При этом статья появится в структуре дерева документов админ анели Modx Revo.

  • Код
  • Чистый код
  1.<?php
  2.error_reporting(E_ALL | E_STRICT);
  3.ini_set('display_errors', 1);
  4.
  5.if($_POST['model']){
  6.
  7.$modx->initialize('mgr');
  8.$holder = $modx->getObject('modResource',array('pagetitle' =>$_POST['model']));
  9.$id = $holder->get('id');
10.$name = $_POST['name'].' "'.$_POST['model'].'" '.'('.date('h-i-s').')';
11.$resource = $modx->newObject('modDocument',
12.array('pagetitle'=>$name,
13. 'introtext'=>$_POST['text'],
14. 'content'=>$_POST['text'],
15. 'template'=>9,
16. 'parent'=>$id,
17. 'published'=>1,
18. 'publishedon'=>date("Y-m-d H:i:s"),
19. 'alias'=>$_POST['name'].date("h:i:s"),
20.
21.
22.));
23.
24.$resource->save();
25.
26.$holder = $modx->getObject('modResource',array('pagetitle' =>$name));
27.$id = $holder->get('id');
28.
29.$tv = $modx->getObject('modTemplateVar',array('name'=>'otzivc'));
30.$tv->setValue($id,'otziv');
31.$tv->save();
32.if(!empty($_POST['name'])) {
33.$tv = $modx->getObject('modTemplateVar',array('name'=>'avtor'));
34.$tv->setValue($id,$_POST['name']);
35.$tv->save();
36.}
37.$modx->cacheManager->clearCache();
38.
39.$url = $modx->makeUrl(251);
40.$modx->sendRedirect($url);
41.
42.}
43.

        

Обратите внимание на следующий отрезок кода, он позволяет загружать статью в папку дерева админ панели, которая является родительской для вновь создаваемого документа:

  • Код
  • Чистый код
  16.'parent'=>$id

        

Код с 26 строки по 37 строку предназначен для добавления поля TV.

  • Код
  • Чистый код
  26.$holder = $modx->getObject('modResource',array('pagetitle' =>$name));
  27.$id = $holder->get('id');
  28.
  29.$tv = $modx->getObject('modTemplateVar',array('name'=>'otzivc'));
  30.$tv->setValue($id,'otziv');
  31.$tv->save();
  32.if(!empty($_POST['name'])) {
  33.$tv = $modx->getObject('modTemplateVar',array('name'=>'avtor'));
  34.$tv->setValue($id,$_POST['name']);
  35.$tv->save();
  36.}
  37.$modx->cacheManager->clearCache();
  38.

        
Поделись статьёй: 
Александр Ермаков