Magento – Fatal error: Call to a member function delete()

deleteimportmagento-1.7

I want use the code, but i get a error:
"Fatal error: Call to a member function delete() on boolean in …"

The code:

public function _del()   
{
    umask(0);
    Mage::app();
    Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
    $f = file("var/import/sku.csv");

    foreach ($f as $line_num => $productSku) {
        $product = Mage::getModel('catalog/product')->loadByAttribute('sku', $productSku);
        $product->delete();
    }
}

With the sku.csv:

220112¬  
220111¬  
220114¬  

Best Answer

Tom,you need to upload product object by primary key.loadByAttribute() not capable for delete the product.

$product = Mage::getModel('catalog/product')->loadByAttribute('sku', $productSku);



   /* product exit then the prooduct will be deleted
*/
    if($product->getId()):
        $id=$product->getId();
        $product = Mage::getModel('catalog/product')->load($id);
        $product->delete();
     endif;