Clean special price when special price equal to price
1790 ワード
class Mage_Shell_CleanSpcialPrice extends Mage_Shell_Abstract
{
/**
* Run script
*
*/
public function run()
{
$collection = Mage::getModel('catalog/product')->getCollection()
//->addAttributeToFilter('type_id', 'configurable')
->addAttributeToSelect(array('name', 'price', 'special_price'), 'left')
->addAttributeToFilter('status',1);
foreach ($collection as $_product) {
var_dump('sp_price:' . $_product->getData('special_price'));
var_dump('org_price:' . $_product->getData('price'));
if ($_product->getData('special_price') == $_product->getData('price')) {
$_product->setSpecialPrice('')
->setSpecialToDate('')
->setSpecialFromDate('')
->save();
var_dump('clean ' . $_product->getSku() . ' special price');
} else {
var_dump('no need to clean.'.$_product->getSku().' special price');
}
}
//do priec index
var_dump('do price index');
$process = Mage::getModel('index/process')->load(2);
$process->reindexAll();
$process = Mage::getModel('index/process')->load(4);
$process->reindexAll();
var_dump('finished!');
}
}
$shell = new Mage_Shell_CleanSpcialPrice();
$shell->run();