Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Magento:Mage::getModel清除数据_Magento_Model_Product - Fatal编程技术网

Magento:Mage::getModel清除数据

Magento:Mage::getModel清除数据,magento,model,product,Magento,Model,Product,我必须开发一个Magento插件来输出产品。 我知道其他插件已经存在,但我必须这样做 出口产品并不是很难,我用的是这样的东西(浓缩): 如您所见,我使用一个私有var来存储Mage::getModel('catalog/product')对象。 我想每次调用这个方法都会消耗大量资源,这就是我想要存储这个变量的地方 但在这个过程中,如果产品是可配置产品的子产品,那么数据就是父产品的数据 那么,我能清除这架飞机吗? 叫做Mage::getModel('catalog/product')他需要很多资源

我必须开发一个Magento插件来输出产品。 我知道其他插件已经存在,但我必须这样做

出口产品并不是很难,我用的是这样的东西(浓缩):

如您所见,我使用一个私有var来存储Mage::getModel('catalog/product')对象。 我想每次调用这个方法都会消耗大量资源,这就是我想要存储这个变量的地方

但在这个过程中,如果产品是可配置产品的子产品,那么数据就是父产品的数据

那么,我能清除这架飞机吗? 叫做Mage::getModel('catalog/product')他需要很多资源? 我可以强制它加载子数据吗

谢谢;)

是的,你可以

查看
Mage\u Catalog\u Model\u Convert\u Adapter\u产品
,了解标准示例

你会看到他们:

1) 缓存产品型号:

public function getProductModel() {
  if (is_null($this->_productModel)) {
    $productModel = Mage::getModel('catalog/product');
    $this->_productModel = Mage::objects()->save($productModel);
  }
  return Mage::objects()->load($this->_productModel);
}
2) 并在每次需要时重置它(在saveRow方法的开头):

$product=$this->getProductModel()->reset()

public function getProductModel() {
  if (is_null($this->_productModel)) {
    $productModel = Mage::getModel('catalog/product');
    $this->_productModel = Mage::objects()->save($productModel);
  }
  return Mage::objects()->load($this->_productModel);
}