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

如何判断购物车中特定规则是否校验通过?

如何判断购物车中特定促销规则是否校验通过

你可以通过以下方法获取规则的校验状态:

  • 获取已生效的规则对象集合
    使用$event->getPage()->getCart()->getRules()方法,得到的是已经通过校验、成功应用到购物车的规则对象集合,而非单纯的ID数组。

  • 校验特定规则是否生效
    若你有目标规则的ID,可遍历这个规则集合,通过对比ID判断该规则是否处于生效状态:

    $targetRuleId = '你的目标规则ID';
    $appliedRules = $event->getPage()->getCart()->getRules();
    $isRuleValid = false;
    
    foreach ($appliedRules as $rule) {
        if ($rule->getId() === $targetRuleId) {
            $isRuleValid = true;
            break;
        }
    }
    
  • 补充说明
    getRuleIds()返回的是系统所有评估过的规则ID(包含未通过校验的),而getRules()仅返回实际生效的规则对象,后者可以直接用来判断规则是否校验通过并应用成功。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 08:59:18