如何判断购物车中特定规则是否校验通过?
如何判断购物车中特定促销规则是否校验通过
你可以通过以下方法获取规则的校验状态:
获取已生效的规则对象集合
使用$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
相关产品推荐
相关产品推荐

