EAN (ダッシュ) 製品 ID で構成される文字列を使用して、製品の SKU を一括更新しようとしています。
例えば
EAN=1234 & ID=44
Result=1234-44
phpMyAdmin にコピー/貼り付けできる PHP または MySQL ステートメントのいずれかを喜んで使用します。
全くの初心者なのでできるだけ具体的にお願いします。
letf blank だったものSKUs
をすべて更新するには、ファイルに以下の変更を加えます。
<?php
require_once('app/Mage.php');
umask(0);
Mage::app();
$_productCollection = Mage::getModel('catalog/product')
->getCollection()
->addAttributeToFilter('sku',array('null' => true))
->load();
foreach($_productCollection as $_product)
{
try
{
$ean = $_product->getAttEan();
$id = $_product->getEntityId();
$newSku = $ean . '-' . $id;
$_product->setSku($newSku);
$_product->save();
}
catch(Exception $e){
echo $e->getMessage();
}
}
次のコードで実行する必要があります....好みに合わせて微調整してください..
<?php
require_once('app/Mage.php'); //Path to Magento
umask(0);
Mage::app();
// Loading products that satisfies the criteria
$productList = Mage::getModel('catalog/product')
->getCollection()
->addAttributeToSelect('*')
// ->addAttributeToFilter('sku', array('like' => '%-T')) //if criteria
;
//Writing to Magento Log
$totalString = count($productList)." Products were found.";
Mage::log($totalString, null, 'listProducts.log');
echo $totalString;
if(count($productList)){
foreach($productList as $product){
//updating products now
try{
$EAN = $product->getAttEan(); // sample EAN, eg $EAN = '1234';
$ID = $product->getEntityId(); // sample ID, eg, $ID = $product->getSku();
$newSku = $EAN . '-' . $ID;//build your new custom sku as per need
$product->setSku($newSku);
//update other if you want
$product->save();
$skuString = "Product with SKU : ".$product->getSku()." updated!!";
Mage::log($skuString, null, 'listProducts.log');
echo $skuString;
}catch(Exception $ex){
Mage::log($ex->getMessage(), null, 'listProducts.log');
echo $ex->getMessage();
}
}
echo "Custom Sku has been updated Succesfully";
}
?>