【发布时间】:2012-01-22 20:41:14
【问题描述】:
购物车价格规则导致“添加到购物车”和“结帐”按钮显着变慢。
我发现这个问题在两个地方有两种不同的解决方案:
我通过创建 app/code/local/Mage/SalesRule/Model/Rule/Condition/Product.php 的本地副本来尝试上述方法 并重写验证器函数:
public function validate(Varien_Object $object)
{
if(!Mage::registry("rule_condition_product_".$object->getProductId()))
{
$product = Mage::getModel('catalog/product')
->load($object->getProductId());
Mage::register("rule_condition_product_".$object->getProductId(),$product);
}
$product = Mage::registry("rule_condition_product_".$object->getProductId());
$product->setQuoteItemQty($object->getQty())
->setQuoteItemPrice($object->getPrice())
->setQuoteItemRowTotal($object->getRowTotal());
return parent::validate($product);
}
性能没有提升
另一个建议的解决方案是:
这建议覆盖 product->load() 函数,但我不清楚他们建议如何/在何处执行此操作。我认为它不是 app/code/core/Mage/Core/Model/Abstract.php
的本地版本有什么想法吗?
【问题讨论】:
标签: magento