检查产品是否存在

0 magento

我有一些PHP代码,我使用SKU:

$sku = $id
$_product=Mage::getModel('catalog/product')->loadByAttribute('sku',$sku); //Get Product by ID (ASIN)
$qtyStock = Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty(); //if in stock
$_prodcats = $_product->getCategoryIds(); 
Run Code Online (Sandbox Code Playgroud)

如果$ sku错误(在带有$ _product行的数据库中找不到),我想要添加到此代码中,以便能够手动更改它,例如,如果$ sku不存在,请将其更改为$ sku ="909010";

感谢您的帮助

Kār*_*ers 8

function get_product($sku){

$product=Mage::getModel('catalog/product')->loadByAttribute('sku',$sku); 
    if (!$product){
        $new_sku = '909010'; // If Real SKU doesn`t exsist, change to '909010'
        $product=Mage::getModel('catalog/product')->loadByAttribute('sku',$new_sku);
    }
    return $product;        
}

var_dump(get_product('your-sku')); // Real Sku 
Run Code Online (Sandbox Code Playgroud)

  • 如果您需要更快的方法来检查SKU是否不存在,您可以执行以下操作:`if(!Mage :: getModel('catalog/product') - > getIdBySku($ sku))`.如果您循环遍历大型数组并且只需要创建新产品并忽略已存在的产品,那么这非常有用. (3认同)