在导入时我想将作为捆绑产品的导入产品添加到捆绑产品列表中。
我扩展了Mage_Catalog_Model_Convert_Adapter_Product并在自定义Dataflow中使用了这个类,在保存导入的行之前执行以下代码:
//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);
但是如何获得选项标题以及如何从我的产品中创建选择?
答案 0 :(得分:2)
要获得我做的选项标题:
$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();
我不知道为什么我必须设置title和store_id,因为该选项已经存在所以我认为它不应该是必要的,但如果我不这样做,我会得到一个“缺少store_id”或“缺少标题“错误。
我喜欢Magento,但它很大,文档应该更好。