2016-08-16 4 views
0
public function getAllProductById($id=0) 
{ 
    $products = Mage::getModel('catalog/product') 
     ->getCollection() 
     ->addAttributeToSelect('*') 
     ->addAttributeToFilter('entity_id', array('eq' => $id)) 
     ->joinTable(
      'cataloginventory_stock_item', 
      'product_id=entity_id', 
      array('quantite' => 'qty'), 
      null, 
      'left' 
     ) 
     ->load() 
    ; 

    if ($products) { 
     return $products; 
    } else { 
     return $products == null; 
    } 
} 

переменной $products не возвращает нуль, даже когда я использую идентификатор ($ ID), который не установлен в Magento.тест Magento, если коллекция продуктов существует

+0

return $ products == null; измените это, чтобы вернуть $ products = null; –

ответ

0

Заменить код

if ($products) { 
     return $products; 
    } else { 
     return $products == null; 
    } 

с

if ($products->count()) { 
     return $products; 
    } else { 
     return $products = null; 
    } 
0

Просто замените $products с $products->count(). Это даст вам ноль, если в вашей коллекции нет продукта. Как это показано ниже:

if ($products->count()) { 
    return $products; 
} else { 
    return $products = null; 
} 
Смежные вопросы