在模块观察文件中找不到产品集合

时间:2013-04-17 08:43:23

标签: magento magento-1.7

我创建了一个模块。它工作正常但是当我们在Observer.php文件中获得产品集合时,这不会返回任何对象和集合。它是空的,也不会创建任何期望或日志文件。请帮我。

我在observer.php文件中有这段代码

class GWB_ClearOrphan_Model_Observer
{
    public function disableProducts(Varien_Event_Observer $observer)
    {
        try{
            $collection = Mage::getModel('catalog/product')->getCollection();

        }
        catch(Exception $e) {
            Mage::log($e->getMessage(), null, 'collection.log');
        }
    }
}

我也在尝试两种产品收集模型方法,但未找到收集。

  1. $collection = Mage::getResourceModel('catalog/product_collection');
  2. $collection = Mage::getModel('catalog/product')->getCollection()->load();

1 个答案:

答案 0 :(得分:0)

使用

$collection = Mage::getModel('catalog/product')->getCollection();

不会加载任何内容。您必须调用load()方法,如下所示:

$collection = Mage::getModel('catalog/product')->getCollection()->load();

最好知道你想要实现什么,你观察哪个事件以及为什么要在观察者中加载所有产品?您不会在集合中使用任何过滤器,因此实际上上述语句将加载所有产品,这可能会导致您的请求失效。