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();