Как сохранить в БД заполненную форму из кастомного php-файла?

#
Как сохранить в БД заполненную форму из кастомного php-файла?
Доброго дня!
Подскажите название метода, который сохраняет результаты заполнения форм в БД.
Данные формируются в самописном php-файле.
Редакция малый бизнес.

Отправка на емайл идет таким кодом:
$status = Core_Mail::instance()
       ->to(EMAIL_TO)
       ->from(EMAIL_TO)
       ->subject($_EMAIL.' - Онлайн заявка c www.www.ru')
       ->message(trim($sText))
       ->contentType('text/html')
       //->header('X-HostCMS-Reason', 'Alert')
       //->header('Precedence', 'bulk')
       ->send();


А как тут же еще и писать в БД?
#
Re: Как сохранить в БД заполненную форму из кастомного php-файла?
Вы хотите в собственную таблицу в БД записывать данные? Или в системные таблицы (Формы, ИС, ИМ)?
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
#
Re: Как сохранить в БД заполненную форму из кастомного php-файла?
Seri писал(а):
в системные таблицы (Формы, ИС, ИМ)?

в формы
#
Re: Как сохранить в БД заполненную форму из кастомного php-файла?
volgastar,
Думаю проще пользоваться для Формы его контроллером Form_Controller_Show там есть и отправка почты что бы отдельно не писать.
Если посмотрите файл /modules/form/controller/show.php функцию process() то там происходит множество операции что бы сохранить данные в определенную форму и поля формы. Так как для каждой формы создаются поля для хранение данных и типы данных в отдельных таблицах.
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
#
Re: Как сохранить в БД заполненную форму из кастомного php-файла?
Seri писал(а):
Думаю проще пользоваться для Формы его контроллером

пробовал,ощущение, что метод Form_Controller_Show не вызывается...
#
Re: Как сохранить в БД заполненную форму из кастомного php-файла?
volgastar,
Можете показать ваши пробы?
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
#
Re: Как сохранить в БД заполненную форму из кастомного php-файла?
Ошибка: 200
OK
Exception: The property 'source_id' does not exist in the model 'form_fill'
36 modules/core/exception.php
1392 modules/core/orm.php
168 modules/form/controller/show.php
366 templates/template13/ajax_form_main.php
2 templates/template13/template.htm
96 modules/template/model.php
161 modules/core/page.php
472 modules/core/command/controller/default.php
194 modules/core/router/route.php
239 index.php
SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
parsererror
#
Re: Как сохранить в БД заполненную форму из кастомного php-файла?
volgastar,
Я имел ввиду не текст ошибки, а сам код который вы написали для этого можете?
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
#
Re: Как сохранить в БД заполненную форму из кастомного php-файла?
Форма в макете в виде html
Скрипт собирает с неё поля и отправляет на файл.
var data = form.serialize();
$.ajax({
...})

В файле проверка на наличие полей и в зависимости от этого идет разная обработка (т.к. несколько форм разной направленности, некоторые отправляют данные на внешние CRM)
Описываемая форма - простейшая обратная связь, но её тоже нужно обработать и отправить в CRM, поэтому её сначала обрабатываю в этом кастомном php-файле и затем хотелось бы записать её в стандартный раздел Сервисы-Формы.
Файл лежит в папке templates/template13 - это папка основного шаблона
#
Re: Как сохранить в БД заполненную форму из кастомного php-файла?
volgastar,
К сожалению по описаниям вашей проблемы не очень понятно, сторонний CRM у которого свои требование. Контроллер Form_Controller_Show свои требование. По этому вам необходимо определиться что вам удобнее.
Я имел ввиду это:
if (Core::moduleIsActive('form'))
{
   $oForm = Core_Entity::factory('Form', Core_Array::get(Core_Page::instance()->libParams, 'formId'));
   $Form_Controller_Show = new Form_Controller_Show($oForm);

   $xslName = Core_Array::get(Core_Page::instance()->libParams, 'formXsl');

   if (!is_null(Core_Array::getPost($oForm->button_name)))
   {
      $Form_Controller_Show
         ->values($_POST + $_FILES)
         // 0 - html, 1- plain text
         ->mailType(Core_Array::get(Core_Page::instance()->libParams, 'mailType'))
         ->mailXsl(
            Core_Entity::factory('Xsl')->getByName(Core_Array::get(Core_Page::instance()->libParams, 'notificationMailXsl'))
         )
         ->mailFromFieldName(Core_Array::get(Core_Page::instance()->libParams, 'emailFieldName'))
         ->process();
   }

   $Form_Controller_Show
      ->xsl(
         Core_Entity::factory('Xsl')->getByName($xslName)
      )
      ->show();
}

Тут в $_POS попадают все поля из вашей var data = form.serialize(); но также наименование полей должны совпадать с теми наименованиями полей созданные в Сервисы-Формы.
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
Авторизация