You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PrestaShop 1.7中Cart::addCartRule方法声明不兼容警告求助

解决PrestaShop 1.7中Cart::addCartRule方法声明不兼容的PHP警告

错误信息

[Thu Oct 13 09:59:12.463274 2022] [proxy_fcgi:error] [pid 45545:tid 139624745764608] [client 146.59.8.136:33906]
AH01071: Got error 'PHP message: PHP Warning: Declaration of Cart::addCartRule($id_cart_rule) should be compatible with CartCore::addCartRule($id_cart_rule, bool $useOrderPrices = false) in /var/www/vhosts/wiejski-sklep.pl/httpdocs/override/classes/Cart.php on line 20'

问题原因

这个警告的核心是方法签名不匹配:你在override/classes/Cart.php中自定义的Cart类里的addCartRule方法,参数列表和PrestaShop核心类CartCore的同名方法不一致。核心方法包含一个带默认值的参数bool $useOrderPrices = false,而你的自定义方法只定义了$id_cart_rule这一个参数,PHP会判定两者不兼容并抛出警告。

解决步骤

  • 打开文件/var/www/vhosts/wiejski-sklep.pl/httpdocs/override/classes/Cart.php,找到第20行的addCartRule方法声明
  • 修改方法的参数定义,与核心类保持一致:
    public function addCartRule($id_cart_rule, bool $useOrderPrices = false)
    
  • 如果你在该方法内有自定义逻辑,无需额外修改——因为参数带有默认值,原有调用逻辑不会受影响
  • 保存文件后,进入PrestaShop后台,在「高级参数」→「性能」页面清空缓存,确保修改生效

内容的提问来源于stack exchange,提问作者Laught Time

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 15:57:16