我使用的功能可以自动更新Magento的产品价格,但有时供应商不会为产品添加价格。
如果价值为零,我想跳过某个产品的产品价格更新(所以我可以手动加价)。
请参阅下面的代码。我试图使用$product->setPrice($price != 0);
,但这不起作用。我的代码是:
public function updateProductPriceAndStock($sku)
{
$_product = Mage::getModel('catalog/product')->loadByAttribute('sku',$sku);
if($_product)
{
$product = Mage::getModel("catalog/product")->load($_product->getId());
$product->setStockData($this->getProductStockFromErp($sku));
$product->setCost($this->getProductCostFromErp($sku));
$price = $this->getProductPriceFromErp($sku);
$product->setPrice($price);
$product->setMsrp($price);
$product->save();
$this->_counts++;
unset($product);
}
unset($_product);
}
答案 0 :(得分:0)
$product->setPrice($price != 0);
与$product->setPrice(true/false);
也许是这样的?
public function updateProductPriceAndStock($sku) {
$_product = Mage::getModel('catalog/product')->loadByAttribute('sku',$sku);
if($_product){
$product = Mage::getModel("catalog/product")->load($_product->getId());
$product->setStockData($this->getProductStockFromErp($sku));
$product->setCost($this->getProductCostFromErp($sku));
$price = $this->getProductPriceFromErp($sku);
if($price != 0){
$product->setPrice($price);
$product->setMsrp($price);
}
$product->save(); // put this inside above "if" if you want to skip update (database save)
$this->_counts++;
unset($product);
}
unset($_product);
}