Добавить выделение для связки программно - PullRequest
1 голос
/ 02 сентября 2011

при импорте Я хотел бы добавить импортированные продукты в виде связанных продуктов в список связанных продуктов.

Я расширил Mage_Catalog_Model_Convert_Adapter_Product и использовал этот класс в пользовательском потоке данных. Перед сохранением импортированной строки выполняется следующий код:

//Load product model collection filtered by attribute set id        
$products = Mage::getModel('catalog/product')
                ->getCollection()
                ->addAttributeToSelect('name')
                ->addFieldToFilter('attribute_set_id', 12);

// loop through products
foreach($products as $p){
    // get product options
    $options = $p->getTypeInstance(true)->getOptionsCollection($p);
}

Что мне нужно сделать, это определить, чтоправильный вариант (по названию) и добавьте к нему продукт в качестве выбора.

$option->addSelection($selection);

Но как мне получить название параметра и как создать выборку из моего продукта?

1 Ответ

2 голосов
/ 05 сентября 2011

Чтобы получить название опции, я сделал:

$option->getData('default_title');

Чтобы создать выбор, я сделал:

$selection = new Mage_Bundle_Model_Selection();
$selection->addData(array(
'entity_id' => //bundle id,
'option_id' => $option->getId(),
'product_id' => //bundled item id,
'selection_price_value' => 0.00,
'selection_qty' => 1,
'selection_can_change_qty' => 0,
));

$selection->save();

, чтобы добавить выбор к опции, которую я сделал:

$option->addSelection($selection);
$option->addData(array(
    'store_id' => 1,
    'title' => 'Abonnement'
));

 $option->save();

Я не знаю, почему я должен установить заголовок и store_id, потому что опция уже существует, поэтому я думаю, что в этом нет необходимости, но если я не делаю этого, я получаю «отсутствующий store_id»или ошибка «отсутствует заголовок».

Мне нравится Magento, но он огромен, документация должна быть лучше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...