2022-10-17 11:11:08 - 米境通跨境电商
First,准备一个csv文件,这个文件可以包含下面所有的这些字段
但是一般我们只需要sku和qty这两个字段。(在csv文件里边修改你需要修改的qty的数量。)
保存成CSV格式,注意另存的时候选择UTF-8编码,Mangeto只能识别UTF-8。将这个文件存到./app/var/import/updateStockLevels.csv.
之后,创建一个php文件,内容如下:
define('MAGENTO',realpath(dirname(__FILE__)));
require_onceMAGENTO.'/app/Mage.php';
umask(0);
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
$count=0;
$file=fopen(MAGENTO.'/var/import/updateStockLevels.csv','r');
while(($line=fgetcsv($file))!==FALSE){
if($count==0){
foreach($lineas$key=>$value){
$cols[$value]=$key;
}
}
$count++;
if($count==1)continue;
#Convertthelinestocols
if($count>0){
foreach($colsas$col=>$value){
unset(${$col});
${$col}=$line[$value];
}
}
//CheckifSKUexists
$product=Mage::getModel('catalog/product')->loadByAttribute('sku',$sku);
if($product){
$productId=$product->getId();
$stockItem=Mage::getModel('cataloginventory/stock_item')->loadByProduct($productId);
$stockItemId=$stockItem->getId();
$stock=array();
if(!$stockItemId){
$stockItem->setData('product_id',$product->getId());
$stockItem->setData('stock_id',1);
}else{
$stock=$stockItem->getData();
}
foreach($colsas$col=>$value){
$stock[$col]=$line[$value];
}
foreach($stockas$field=>$value){
$stockItem->setData($field,$value?$value:0);
}
$stockItem->save();
unset($stockItem);
unset($product);
}
echo"Stockupdated$sku";
}
fclose($file);
?>
存为quick_updateStock.php,在浏览器运行这个文件即可。