Добавить свое поле в заказ

Добрый день! Появилась необходимость добавить еще 1 поле в заказ. Поле называется OPLATA. Поле будет служить для определения способа оплаты (наличными, платежной картой visa/mastercard) При оформлении заказа клиент будет выбирать способ оплаты и после принятия заказа менеджером в управлении заказами будет кнопка «оплатить» (если выбрана он-лайн оплата). Что я сделал: Добавил в таблицу modx_shopmodx_orders поле oplata varchar(4). Файл shopmodxorder.map.inc.php: 'oplata' => 'opl',

'oplata' => array ( 'dbtype' => 'text', 'precision' => '100', 'phptype' => 'string', 'null' => false, 'default' => 'opl' ), Файл object.class.php protected function prepareObject(& $object){ $oplata = $OrderProduct->oplata;

    $object->fromArray(array(
        "positions" => $positions,
        "total" => $quantity,
        "quantity" => $quantity,
        "sum" => $sum,
"oplata" =>$oplata,
    "paysystem_name" => $oplata,
        "discount" => $object->discount,
        "original_sum" => $original_sum,
        "products_ids" => $products_ids,
    )); Как бы все работает.

Данные в таблицу пишутся, данные получить могу. Но в логах появляются не красивые записи: [2016-08-14 20:46:16] (ERROR @ /index.php) ShopmodxOrder: Attempt to set NOT NULL field oplata to NULL Такая запись появляется при обновлении главной страницы с пустой корзиной… Никак не могу понять где формируется запрос который потом так ругается. Подскажите какой файл посмотреть?

У вас же пишет «Attempt to set NOT NULL field oplata to NULL» Гугл подсказывает: «Попытка установить NOT NULL поле Oplata к NULL» А поле у вас запрещено к хранению НУЛЛов. 'null' => false, Вы значение $oplata = $OrderProduct->oplata проверяете? Нет. Или null разрешите, или вот так напишите: $oplata = $OrderProduct->oplata? $OrderProduct->oplata: '';

Нашел проблему. Пытался записать данные в _OrderProducts

Да, _OrderProducts — это по сути данные на чтение только.