Как записать опции товару?
Добрый день.
Нужно записать опции к товару, никак не пойму как это сделать. Опции типа combo-box, нужно записывать туда несколько значений. Пробовал много вариантов:
Нужно записать опции к товару, никак не пойму как это сделать. Опции типа combo-box, нужно записывать туда несколько значений. Пробовал много вариантов:
//Не понятно как сохранить
$product = $modx->getObject('msProduct', array(
'id' => 555
));
$options = $product->getMany('Options');
foreach ($options as $option) {
$option->set('', ''); // что тут писать?
$option->save();
}
//Опция создается, но...
$option = $modx->newObject('msProductOption');
$option->set('key', 'vozrast');
$option->set('product_id', 555);
$option->set('value', '2222');
$option->save();
//.. как ее обновить потом?
$option = $modx->getObject('msProductOption', array(
'key' => 'vozrast',
'product_id' => 555
));
$option->set('value', '2222');
$option->save(); //не работает, ошибок нет
// или удалить
$option->remove(); //не работает, ошибок нет
//еще такой вариант, работает, но в опции с несколькими значениями отображает только последнее значение,
//и как записывать несколько значений не ясно
$product = $modx->getObject('msProduct', array(
'id' => 555
));
$data = $product->getOne('Data');
$options = $data->get('options');
foreach ($options as $option) {
print_r($option); //выводит только последнее значение опции
} Комментарии: 12
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
вот так можно как вы хотели
Например если 2-3 значения, а 1 ключ, конечно можно использовать вариант в свойствах если там уже есть данные json, как многомерный массив, но мы сделаем тестовую опцию множественный выбор.
* — не программно, вручную (если программно, то дописывайте код)
Вообще можно распечатать массив продукта и посмотреть как там опции записаны
Тут много мусора, но все же, думаю, разберешься. Ключевой момент — записать массив значений, в массиве опций, к нужной опции, а затем, сохранить весь массив опций.
Тестирую в консоли, надо продублировать опции другого контекста.
А те опции которые создаешь сам так
Плагин дублирует опции товара из опций товара из другого контекста у которых совпадает alias. Используется minishop 2.4.11, начиная опции идут исключительно массивами.
Вешается на OnDocFormSave
Помогите, пожалуйста.
Я распарсиваю артикул и помещаю нужные данные в нужные поля.
С цветом и размером проблем нет.
Но есть проблемы с свойствами товара (Опции minishop2)
Вот код
В итоге пустота.