Проставить значение опций через API

Импортирую товары в каталог магазина используя API MODX, но после сохранения опций — они не изменяются. В итоге для проверки сократил код до
$prod = $modx->getObject('msProduct', 5059);
$prod->set('tv_1c_index', 'Changed');
echo $prod->get('tv_1c_index')."
========
";
$prod->save();

$opts = $prod->getMany('Options');
foreach ($opts as $id => $opt){
    echo $opt->get('key')."
";
    echo $opt->get('value')."
";
}
В итоге вывод выглядит следующим образом:
Changed
========
tv_1c_index
00000000000000000
tv_brand_name
222222222
tv_category_id
999999999999
Т.е. первая строка — это вывод значения поля сразу после присвоения — и он корректен, значение 'Changed' но вот далее вывод всех опций у товара — выводит всеравно старое значение. Т.е. как будто бы не срабатывает функция save(). Однако если делать таким же образом для стандартных опций типа size — то все сохраняется, хотя значения опций size и записываются в ту же таблицу что и пользовательские опции.

В чем может быть причина?
Владимир Новопашин
31 мая 2017, 15:37
modx.pro
1 011
0

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

Алексей Ерохин
31 мая 2017, 19:35
+1
$options = [
	'tv_1c_index'=>'changed'
];
$prod->set('options',$options);
$prod->save();
    Владимир Новопашин
    01 июня 2017, 14:45
    0
    Благодарю. Не додумался что опции могут быть сделаны по подобию поля size
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    2