【发布时间】:2016-07-01 02:39:44
【问题描述】:
我已经编写了所有脚本来添加一个可配置产品和多个简单产品,并设法将它们与颜色和尺寸相关联。我的脚本可以正常工作并且可以完成工作,但是我总是必须去后端并选择可配置的产品属性设置颜色和大小并保存产品以便能够在主页上查看它。
这是我的脚本对可配置产品的作用: PS 我将简单和可配置产品的 sku 保存在 csv $file 中。在将它们与可配置产品关联之前。
代码:
<?php
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
$confProduct = Mage::getModel('catalog/product')- >loadByAttribute('sku',$asian);
$colorAttributeId = Mage::getModel('eav/entity_attribute')->getIdByCode('catalog_product', 'color');
$confProduct->getTypeInstance()->setUsedProductAttributeIds(array($colorAttributeId));
$sizeAttributeId = Mage::getModel('eav/entity_attribute')->getIdByCode('catalog_product', 'size');
$confProduct->getTypeInstance()->setUsedProductAttributeIds(array($sizeAttributeId));
$file_handle = fopen($file, "r");
while (!feof($file_handle) ) {
$line_of_text = fgetcsv($file_handle, 1024);
$simpleSku = $line_of_text[0];
$configurableSku = $line_of_text[1];
if($simpleSku){
$simpleProduct = Mage::getModel('catalog/product')->loadByAttribute('sku',$simpleSku);
$configurableProduct = Mage::getModel('catalog/product')->loadByAttribute('sku',$configurableSku);
$simpleId = $simpleProduct->getId();
$ids = $configurableProduct->getTypeInstance()->getUsedProductIds();
$newids = array();
foreach ( $ids as $id ) {
$newids[$id] = 1;
}
$newids[$simpleId] = 1;
//echo "Updating configurable product " . $configurableSku;
//echo "<br>";
$confProduct->setCanSaveConfigurableAttributes(true);
Mage::getResourceModel('catalog/product_type_configurable')->saveProducts($configurableProduct, array_keys($newids));
}
}
fclose($file_handle);
return ($idconfig);
}
【问题讨论】:
标签: magento configurable