При создании Ticket в базу не пишется template

Для создания тикета использую код:
<?php
$processorProps = array(
	'class_key' => 'Ticket',
	//'alias' => 'myTicket',
	'parent' => 4,
	'richtext' => 1,
	'createdby' => 6,
	'pagetitle' => 'тест'.date("His"),
	'content' => 'здесь весь текст.'.date("Ymd.His"),
	'published' => 1,
	'template' => 3,
);
$otherProps = array();

$response = $modx->runProcessor('resource/create', $processorProps, $otherProps);
if ($response->isError()) {
    $modx->log(modX::LOG_LEVEL_ERROR, 'my error:' .$response->getMessage());
}
В phpMyAdmin вижу, что template добавляется равным 0, а не 3. Остальные поля пишутся в базу без проблем. Что не так?!

UPD1. Получается, что делать нужно так?!
$response = $modx->runProcessor('resource/create', $processorProps, $otherProps);
if ($response->isError()) {
    $modx->log(modX::LOG_LEVEL_ERROR, 'my error:' .$response->getMessage());
} else {
    $TicketArray = $response->getObject();
    $TicketObject = $modx->getObject('modResource',array('id' => $TicketArray['id']));
    $TicketObject->set('template',3);
    $TicketObject->save();
}
Евгений Ка
05 апреля 2016, 13:51
modx.pro
1
1 172
0

Комментарии: 10

Владислав
05 апреля 2016, 17:09
0
Скорее всего ставится шаблон который стоит по умолчанию в системных настройках при создании тикета. Воспользуйся родным TicketCreateProcessor, там вроде можно переопределить шаблон по умолчанию.
    Евгений Ка
    05 апреля 2016, 17:23
    0
    Тут такое дело, что вот тут Василий рекомендует «обращаться к родному процессору MODX с указанием class_key».
    Вот теперь я, так сказать, в недоумении. Как же всё-таки идеологически правильно делать?!
      Владислав
      05 апреля 2016, 17:27
      +1
      Ну тогда после сохранения ресурса еще раз указать шаблон и пересохранить попробуй.
        Евгений Ка
        05 апреля 2016, 17:55
        0
        Такой вариант я чего-то не осилил.
        ни $response->id ни $response->get('id') не выдают мне id созданного ресурса. Как его изловить?!
        Тут видимо не хватает какого-то звена, потому что у меня на входе результат работы процессора ($response), а не какой-либо объект. :(
        Подскажи пожалуйста куда копать.
          Евгений Ка
          05 апреля 2016, 18:02
          0
          Запилил так
          $TicketArray = $response->getObject();
          print_r($TicketArray['id']);
            Евгений Ка
            05 апреля 2016, 18:14
            0
            Как-то забавно получается, что после
            $response->getObject();
            получается не объект, а массив. Какой-то когнитивный диссонанс возникает.
            В итоге получается, что дальше нужно делать как-то так?!
            $TicketArrayO=$modx->getObject('modResource',array('id' => $TicketArray['id']));
            $TicketArrayO->set('template',3);
            $TicketArrayO->save();
            Это верный ход?!
        Владислав
        05 апреля 2016, 17:39
        0
        через консоль запускаешь или с фронтенда?
          Евгений Ка
          05 апреля 2016, 17:56
          0
          Запускаю через код сниплета, который вызывается на специально созданной для этого странице сайта.
      Павел Гвоздь
      06 апреля 2016, 14:17
      +1
      По коду видно, что в процессоре идёт проверка на контекст:
      — Если mgr — свойства (в т.ч. и шаблон) берутся из заполненной формы
      — Если иной — свойства берутся из родителя. Да, в Tickets есть классная возможность указать в Секции тикетов настройки по-умолчанию для дочерних Тикетов — file.modx.pro/files/5/2/d/52dc40aaa739f288f36b27bb79fc0078.png

      И дальше, если ни там, ни там не найдено шаблона, который бы можно было установить — ставится тот, который определён в настройках системы.

      Код приложения многое может подсказать…
        Евгений Ка
        06 апреля 2016, 14:36
        0
        Благодарю за наводку про настройки. Даже думать не предполагал о таком простом волшебстве.

        Однако вот смотрю в код создания комментов к тикетам и как-то глухо всё. :(
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        10