当我在 magento 1.702 上安装了一个名为 ajax pro 的扩展时。当我将产品添加到购物车时,它显示
..app\code\core\Mage\Sales\Model\Quote\Item\Abstract.php
致命错误:在第 73 行对非对象调用成员函数 setFinalPrice() 。
虽然我删除了所有这个扩展的文件和文件夹。当我将产品添加到购物车时。错误还存在吗?如何纠正它。谢谢你。我已经清除了所有缓存。
当我在 magento 1.702 上安装了一个名为 ajax pro 的扩展时。当我将产品添加到购物车时,它显示
..app\code\core\Mage\Sales\Model\Quote\Item\Abstract.php
致命错误:在第 73 行对非对象调用成员函数 setFinalPrice() 。
虽然我删除了所有这个扩展的文件和文件夹。当我将产品添加到购物车时。错误还存在吗?如何纠正它。谢谢你。我已经清除了所有缓存。
在以与默认商店 ID 不同的商店 ID 以编程方式创建报价后,我收到此错误。
修复是运行这个 sql(当然,在备份所有 sales_flat_quote 表之后):
DELETE FROM sales_flat_quote_item;
请注意,由于参照完整性,TRUNCATE sales_flat_quote_item 将不起作用,并且上述命令也会从其他一些 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);
在实时生产系统上运行它不是一个好主意 - 现有客户将丢失他们购物车中的所有物品 - 但如果您的网站已损坏并且您没有什么可丢失的,也许可以试一试!
要在不访问数据库的情况下备份数据库,https://www.phpmyadmin.net/或类似的工具会有所帮助。您也可以使用它直接运行上述查询。
从中删除会话文件var/session
。
如果它是为所有客户抛出的,那么您可以删除sales_flat_quote_item表。如果这只发生在特定客户身上,请执行以下操作。在这种情况下,不会删除所有引号。
从sales_flat_quote_address(column name: customer_id)表中获取客户 ID 。在这里,您可以获得导致问题的特定报价 ID(表中的列名是 quote_id)。
示例:SELECT quote_id FROM sales_flat_quote_address where customer_id=23423
现在,转到sales_flat_quote_item ,然后删除导致问题的特定记录。
示例: DELETE FROM sales_flat_quote_item WHERE quote_id=43535