Добавление материал на сайт во front-end formIt

Допустим вам нужно чтобы пользователь добавлял данные со своей страницы после регистрации, или у вас есть форма обратной связи и вы хотите чтобы сообщения записывались в базу данных и потом можно управлять через cms.и много много примеров можно привести.

Я делал систему заявок

[[!FormIt?
&hooks=`addResource,redirect,email`
&emailTpl=`chankmail`
&emailTo=`youmail@mail.ru`
&emailSubject=`Новая заявка`
&redirectTo=`2`]]

Снипетт addResource

// Сниппет будет получать данные из формы методом POST
$id_z        =  $_POST['id_z']; 

$id_ispolnitela = $_POST['id_ispolnitela'];

$kabinet = $_POST['kabinet'];

$content     =  $_POST['content'];

 

$introtext   =  $_POST['introtext'];
$description =  $_POST['description'];
$parent      =  $_POST['parent'];
$template    =  $_POST['template'];
$publishedon =  date('Y-m-d H:i:s');

$kabinet = $_POST['kabinet'];


            
// Если некоторые значения не будут указаны,
// они будут установлены по умолчанию
if (!$introtext)   $introtext = $title;
if (!$description) $description = $introtext;
if (!$parent)      $parent = 1;
if (!$template)    $template = 6;


// Создаем ресурс
$newResource = $modx->newObject('modResource');



// Заполняем нужные значения
$newResource->set('pagetitle',$title);
$newResource->set('longtitle',$title);
$newResource->set('description',$description);
$newResource->set('introtext',$introtext);
$newResource->set('content',$content);
$newResource->set('alias',$title);
$newResource->set('template',$template);
$newResource->set('published',1);
$newResource->set('parent',$parent);
$newResource->set('publishedon',$publishedon);



$newResource->save();
$id=$newResource->get('id');
$resource = $modx->getObject('modResource',array('id'=>$id));
/*Если вам нужно присоединить к группе ресурсов то используеться  joinGroup(1) */
$resource->joinGroup(1);
$resource->joinGroup(2);
$title = 'Заявка № '.$id;
$resource->set('pagetitle',$title);
$val = $resource->getTVValue('kabinet'); // берем значение ресурса
$resource->setTVValue('kabinet', $kabinet); // изменяем резурс
$resource->setTVValue('stat', '1'); // изменяем резурс
$resource->setTVValue('id_zakaschika', $id_ispolnitela); 



// Сохраняем ресурс
if ($resource->save()) {
  
// Очищаем кеш, чтобы изменения были видны сразу
  $modx->cacheManager->clearCache();
  return true;
} 

return false;

Отправить комментарий