Magento Mage中的产品数据::getSingleton('catalog/product')


Magento Product data in Mage::getSingleton('catalog/product') not clearing?

Magento 如果产品 ID 在数据库中不可用,则不会清除 Mage::getSingleton('catalog/product')

例如:

产品 ID - 586(存在产品)

产品ID - 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

有人请帮忙..

您可以使用 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

模型在单一实例使用原始实例时创建新实例。

您可以清除介于两者之间的实例。

$_product->clearInstance();