-1

我创建了一个模块。它工作正常,但是当我们在 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();
4

1 回答 1

0

使用

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

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

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

最好知道您想要实现什么,您观察哪个事件以及为什么要将所有产品加载到您的观察者中?您没有在收集时使用任何过滤器,因此实际上上面的语句将加载所有产品,这可能会杀死您的请求。

于 2013-04-17T09:51:19.443 回答