Magento中的Magento产品数据:: getSingleton('catalog / product')没有清算?

时间:2014-11-14 13:21:08

标签: php magento

如果产品ID在数据库中不可用,Mage :: getSingleton('目录/产品')中的Magento产品数据无法清除

例如:

产品编号 - 586(存在产品)

产品编号 - 999(Magento中没有产品)

不工作:

    $productModel = Mage::getSingleton('catalog/product');
    $_product=$productModel->load('586');
    echo $_product->getId()."<br>";

    $productModels = Mage::getSingleton('catalog/product');
    $_products=$productModels->load('999');
    echo $_products->getId()."<br>";
  

输出:

     

586

     

586

工作:

    $productModel = Mage::getSingleton('catalog/product');
    $_product=$productModel->load('999');
    echo $_product->getId()."<br>";

    $productModels = Mage::getSingleton('catalog/product');
    $_products=$productModels->load('586');
    echo $_products->getId()."<br>";
  

输出:

     

586

任何人都请帮忙!..

2 个答案:

答案 0 :(得分:0)

您可以使用Mage :: getModel()代替Mage :: getSingleton()。

<?php
$productModel = Mage::getModel('catalog/product');
$_product=$productModel->load('586');
echo $_product->getId()."<br>";

$productModels = Mage::getModel('catalog/product');
$_products=$productModels->load('999');
echo $_products->getId()."<br>";
?>

Output 
586

当Singleton使用原始实例时,模型创建新实例。

答案 1 :(得分:0)

您可以在中间清除实例。

$_product->clearInstance();