4

我正在尝试根据用户来自“填写注册表”的位置为产品价格添加折扣。

我正在考虑通过钩子获取数据“状态”,并根据获取的数据更改折扣。

我不知道在哪里可以设置价格的价值。
我认为这些规则不会有太大帮助,因为所有规则都为其添加了很多条件。

4

1 回答 1

4

我仍然相信定价规则是要走的路。

显然你不能为每个状态设置一个条件,因为这会导致混乱。我的建议是设置一个包含两列的新表:State 和 Discount。在表格中填写项目所需的数据。

设置新的定价规则(商店 -> 配置 -> 产品定价规则 -> 列表 -> 添加)。跳过条件部分。在 Actions 部分,获取用户的 State 数据并将其作为变量提供。然后添加一个 PHP 操作来查询表以获得相关折扣。使用第三个操作将价格设置为检索到的折扣,或者如果没有返回结果,则设置为原始值。

将这个逻辑包装在一个整洁的模块中可能是一个好习惯:

  1. 用于管理折扣表的 UI。
  2. 用于查询给定状态的表的规则操作。
  3. 用于检查给定状态是否有折扣的规则条件。

(然后,您可以在定价规则的条件中使用上述第 3 项,仅在找到折扣时更改价格。)

希望有帮助。祝你好运!

于 2011-11-16T14:47:09.460 回答