Спасибо большое. Наконец вернулся к задаче и с Вашей помощью удалось дойти до следующей «мертвой точки».
Данные верно попадают куда надо в переменных, кроме запроса. Запрос с ценой формируется в коде так:
$q2 = $this->modx->newQuery('modResource'); $q2->command('update'); $q2->set($data); $q2->where(array( "id" => $tmp_object->resource_id, ));
и формируется честно, например:
UPDATE `modx_site_content` SET `price` = 19 WHERE `modx_site_content`.`id` = 37216
а вот как только я пытаюсь, даже не добавить в дату, а заменить price на «amount» или хотя бы «test» запрос перестает нормально формироваться:
UPDATE `modx_site_content` WHERE `modx_site_content`.`id` = 21043
Насколько удалось понять — при формировании запроса (так и не нашел конкретное место, честно говоря) происходит что-то вроде проверки валидности наименования (price, amount и тд). И наименования полей к типу modResource (с указанием таблицы без префикса: site_content) прописаны в паре файлов xml и описаны в файлах php. Но ключевая проблема, что как раз таки где все это описано, конкретно описание «price» так и не удалось обнаружить во всем ядре. Не могли бы Вы подсказать в каком направлении можно дальше подумать, а то идеи кончились. Может, например, известно, где может быть описано данное поле (ptice), что бы оно как-то обрабатывалось при формировании sql?