Тема: Как правильно клонировать товар с сохранением всех характеристик?

Здравствуйте!

Как правильно клонировать товар с сохранением всех характеристик, присвоенных товару?

$new = $old->cloneSelf();
$new['title'] = 'новый товар';
$new->insert();

Характеристики не переносятся.
Хотя, при ручном клонировании поля характеристик заполнены. Что я пропустил?

2

Re: Как правильно клонировать товар с сохранением всех характеристик?

Дорвей делаем?

Повысить оценку Понизить оценку

Re: Как правильно клонировать товар с сохранением всех характеристик?

Есть ли информация, коллеги?

4

Re: Как правильно клонировать товар с сохранением всех характеристик?

Попробуйте вот так.

$old = new Product($old_id);

$new = $old->cloneSelf();

foreach($new['properties'] as $group_data) {
    foreach($group_data['properties'] as $property_id => $property) {
        if ($property['is_my']) {
            $new->addProperty($property_id, $property['value']);
        }
    }
}

$new->insert();

Повысить оценку Понизить оценку

Re: Как правильно клонировать товар с сохранением всех характеристик?

Спасибо! Помогло. Чуть изменил правда. is_my нет. Не стал вообще проверять это свойство

6

Re: Как правильно клонировать товар с сохранением всех характеристик?

Если вы убираете проверку is_my, то вы будете добавлять значения к товару,
которые просто даже были заданы у категории и фактически не были определены у старого товара.

Повысить оценку Понизить оценку

Re: Как правильно клонировать товар с сохранением всех характеристик?

Так нет такого свойства. Проверка is_my не проходит и характеристики не копируются(