捆绑产品升级到1.7.0.1后在前端不可见

时间:2012-09-25 09:39:32

标签: magento magento-1.6 magento-1.7

在从1.6升级到1.7.0.1后,可能由于js问题,前端看不到捆绑产品

用firebug调试我发现了以下js错误

<script type="text/javascript">
var optionsPrice = new Product.OptionsPrice(
Fatal error: Call to undefined method Mage_Bundle_Model_Product_Price::getBasePrice() in /var/www/vhosts/stage.planetjill.com/httpdocs/app/code/core/Mage/Bundle/Model/Product/Price.php on line 117
</script>

price.php中的方法

 public function getFinalPrice($qty = null, $product)
    {
        if (is_null($qty) && !is_null($product->getCalculatedFinalPrice())) {
            return $product->getCalculatedFinalPrice();
        }
        $finalPrice = $this->getBasePrice($product, $qty);
        //$finalPrice = $product->getPrice();
        $product->setFinalPrice($finalPrice);
        Mage::dispatchEvent('catalog_product_get_final_price', array('product' => $product, 'qty' => $qty));
        $finalPrice = $product->getData('final_price');

        $finalPrice = $this->_applyOptionsPrice($product, $qty, $finalPrice);
        $finalPrice += $this->getTotalBundleItemsPrice($product, $qty);

        $product->setFinalPrice($finalPrice);
        return max(0, $product->getData('final_price'));
    }

如果您看到注释行

  

// $ finalPrice = $ product-&gt; getPrice();

用于magento 1.6。如果我用这一行代替

  

$ finalPrice = $ this-&gt; getBasePrice($ product,$ qty);

捆绑产品现在可见,但配置的价格始终设置为0并且addtocart按钮中断。

任何解决方案?

2 个答案:

答案 0 :(得分:2)

请检查product.js文件中是否有任何js错误

答案 1 :(得分:1)

我会检查你的模板文件,可能是/app/design/xxx/xxx/bundle/catalog/product/view/price.phtml - 确保调用$ _product-&gt; getFinalPrice()正确连接(即如果你get_class_methods($ this)它是getFinalPrice()可访问的正确类)

如果不是,您应该浏览所有已安装的模块,并检查是否正在重写Mage_Bundle_Model_Product_Price。

或者,逐个执行并通过模块的.xml文件禁用模块,直到问题得到解决。从那里隔离。