Magento 致命错误:对非对象调用成员函数setFinalPrice()?

Magento 致命错误:对非对象调用成员函数setFinalPrice()?,magento,Magento,当我在magento 1.702上安装名为ajax pro的扩展时。当我将产品添加到购物车时,它会显示 致命错误:在第73行的.app\code\core\Mage\Sales\Model\Quote\Item\Abstract.php中对非对象调用成员函数setFinalPrice() 虽然我删除了所有扩展名的文件和文件夹。当我将产品添加到购物车时。错误仍然存在吗?如何纠正它。非常感谢。我已清除所有缓存。在以编程方式创建了一个与默认存储id具有不同存储id的报价后,我出现了此错误 修复方法是运

当我在magento 1.702上安装名为ajax pro的扩展时。当我将产品添加到购物车时,它会显示

致命错误:在第73行的
.app\code\core\Mage\Sales\Model\Quote\Item\Abstract.php
中对非对象调用成员函数setFinalPrice()


虽然我删除了所有扩展名的文件和文件夹。当我将产品添加到购物车时。错误仍然存在吗?如何纠正它。非常感谢。我已清除所有缓存。

在以编程方式创建了一个与默认存储id具有不同存储id的报价后,我出现了此错误

修复方法是运行此sql(当然,在备份所有sales\u flat\u quote表之后):

请注意,由于引用完整性,TRUNCATE sales_flat_quote_项将不起作用,并且上面的命令也将从其他一些sales_flat_quote表中删除链接的记录

作为对评论的回复-如果您没有访问数据库的权限,请让您的托管提供商将其提供给您(大多数都会提供某种访问权限-例如phpmyadmin),您可以将其作为代码段运行,我想:

<?php
// Save this in Magento root directory. 
require_once( dirname(__FILE__) . ' /app/Mage.php');
umask(0);
Mage::app()->setCurrentStore(0);

$resource = Mage::getSingleton('core/resource');
$dbw = $resource->getConnection('core_write');

$query = "DELETE FROM sales_flat_quote_item;";
$dbw->query($query); 

var/session
中删除会话文件。仅此而已。

如果它为所有客户抛出,则您可以删除sales\u flat\u quote\u item表。如果这种情况只发生在特定客户身上,请执行以下操作。在这种情况下,不会删除所有引号

  • sales\u flat\u quote\u address(列名:customer\u id)表中获取客户id。在这里,您可以获得导致问题的特定quote id(表中的列名是quote_id)

    示例:从sales\u flat\u quote\u address中选择quote\u id,其中customer\u id=23423

  • 现在,转到sales\u flat\u quote\u item,然后删除导致问题的特定记录

    示例:从sales_flat_quote_项目中删除,其中quote_id=43535


  • 尝试将该文件从原始Magento 1.7.0.2安装复制到
    app\code\core\Mage\Sales\Model\Quote\Item\Abstract.php
    。也许扩展名重写了一个核心文件。如果我没有访问数据库的权限怎么办?
    <?php
    // Save this in Magento root directory. 
    require_once( dirname(__FILE__) . ' /app/Mage.php');
    umask(0);
    Mage::app()->setCurrentStore(0);
    
    $resource = Mage::getSingleton('core/resource');
    $dbw = $resource->getConnection('core_write');
    
    $query = "DELETE FROM sales_flat_quote_item;";
    $dbw->query($query);