Через runProcessor обновляется только ресурс id=1

Подскажите пожалуйста.
Есть сниппет для редактирования ресурса с фронта, данные отправляю через FornIt.
Но работает только с ресурсом id=1, в остальных случаях ресурс не обновляется а логи пусты.

Не могу понять в чем может быть проблема.
<?php

$title   =  $_POST['title'];
$content =  $_POST['content'];
$resId   =  $_POST['resId'];

$resourceData = array(
    'id' => $resId,
    'pagetitle' => $title,
    'content' => $content,
    'context_key' => 'web'
);
$response = $modx->runProcessor('resource/update', $resourceData );

$modx->cacheManager->clearCache();
return true;
Посмотрел кучу примеров с редактированием ресурсов с фронта и ни у кого нету проблем с аналогичным кодом.
Спасибо!
Maksim Kuznetsov
31 октября 2013, 10:06
modx.pro
1 974
0

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

Maksim Kuznetsov
31 октября 2013, 15:09
0
Стал сравнивать что говорит debugMode при редактировании ресурса id=1 и ресурса id=19 (Параметры у них одинаковые), и разница в выводе начинается только на 1353 строке.
ID=1
[2013-10-31 13:45:01] (DEBUG @ /index.php) Returning table name: `modx_register_messages` for class: modDbRegisterMessage
[2013-10-31 13:45:01] (DEBUG @ /index.php) Returning table name: `modx_register_topics` for class: modDbRegisterTopic
[2013-10-31 13:45:01] (DEBUG @ /index.php) Returning table class: modDbRegisterTopic for class: modDbRegisterTopic
[2013-10-31 13:45:01] (DEBUG @ /index.php) Returning table name: `modx_register_topics` for class: modDbRegisterTopic
[2013-10-31 13:45:01] (DEBUG @ /index.php) Returning ancestry for modDbRegisterTopic: Array
(
    [0] => modDbRegisterTopic
    [1] => xPDOSimpleObject
    [2] => xPDOObject
)

ID=19
[2013-10-31 13:42:49] (DEBUG @ /index.php) Returning table name: `modx_register_messages` for class: modDbRegisterMessage
[2013-10-31 13:42:49] (DEBUG @ /index.php) Returning table name: `modx_register_topics` for class: modDbRegisterTopic
[2013-10-31 13:42:49] (DEBUG @ /index.php) Returning table class: modDbRegisterMessage for class: modDbRegisterMessage
[2013-10-31 13:42:49] (DEBUG @ /index.php) Returning table name: `modx_register_messages` for class: modDbRegisterMessage
[2013-10-31 13:42:49] (DEBUG @ /index.php) Returning ancestry for modDbRegisterMessage: Array
(
    [0] => modDbRegisterMessage
    [1] => xPDOObject
)
Я к сожалению не силен во всех процессах Модкса. Может кто нибудь сталкивался с подобными проблемами?
    Василий Краковецкий
    01 ноября 2013, 09:45
    0
    Как насчет посмотреть —
    if ($response->isError()) {
    $modx->log(modX::LOG_LEVEL_ERROR, 'не получилось удалить ресурс с айдишником — '.$resId );
    }

    И на будущее — не советую доверять всему что пришло от пользователя — делайте фильтрацию всего что приходит через POST.
      Maksim Kuznetsov
      01 ноября 2013, 15:13
      0
      Да, спасибо, добавил вывод ошибок
      if ($response->isError()) {
          $modx->log(modX::LOG_LEVEL_ERROR,  $response->getMessage());
      }
      Но, увы, выводит только (ERROR @ /index.php)
      Куда копать не ясно.
        Илья Уткин
        01 ноября 2013, 15:16
        0
        а 19 ресурс точно в контексте web?
          Maksim Kuznetsov
          01 ноября 2013, 16:04
          0
          Да, проверял с разными ресурсами и даже просто копировал ресурс id=1 но результат один и тот же.
            Василий Наумкин
            01 ноября 2013, 16:09
            0
            Сделай так:
            if ($response->isError()) {
            	echo '<pre>';
            	print_r($response->getAllErrors());
            	die;
            }
              Maksim Kuznetsov
              01 ноября 2013, 16:26
              0
              Оо, спасибо большое, это очень помогло.
              Вывелась следующая ошибка
              Array (
                  [0] => alias: field_required
              )
              Сделал вывод алиаса и его тоже передаю в процесс — работает.
              Странно что он не использовал существующий алиас.
      Maksim Kuznetsov
      01 ноября 2013, 16:16
      0
      Через $modx->getObject работает идеально но все же хочется сделать более нативный код.

      Еще замечу что при неудачной попытке отредактировать ресурс он на некоторое время блокируется.
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        8