Массовое добавление/удаление модификаций (msOptionPrice2)

Вообще @Володя уже давал эти скрипты в комменте, но я вечно их ищу в своих избранных и про удаление многие не знают + слегка модернизировал удаление
Добавление модификации

$msoptionsprice = $modx->getService('msoptionsprice');
$msoptionsprice->initialize('web');

/*
 * основной артикул продукта выкидываем, он не используется
 * в опции модификации идет размер
 */
$modifications = array(
    array(
        'price'   => '100.0',
        'options' => array(
            'size' => '12x18',
            'tkan' => 'Флажный шёлк'
        )
    ),
    array(
        'price'   => '120.0',
        'options' => array(
            'size' => '15x22',
            'tkan' => 'Флажный шёлк'
        )
    ),
    array(
        'price'   => '175.0',
        'options' => array(
            'size' => '20x30',
            'tkan' => 'Флажный шёлк'
        )
    ),
  
);

/* id товара */
$rid = 85;

$modifications = $modx->call('msopModification', 'saveProductModification', array(&$modx, $rid, $modifications));

Удаление модификаций

for ($rid = 212; $rid <= 218; $rid++) {
$modx->removeCollection('msopModification', ['rid' => $rid]);}
этот скрипт удалит все модификации в товарах от id 212 до id 218
Сергей Лим
25 августа 2022, 19:10
modx.pro
8
866
+2
Поблагодарить автора Отправить деньги

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

Ivan
25 августа 2022, 21:02
0
Наверно так же можно сделать
['rid:IN' => $rids]
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    1