我正在开发一个项目,我必须使用 Sitecore 的电子商务模块(和 Sitecore 6.5 rev. 120706 - aka 'Update 5')来创建一个网上商店。我正在尝试实现的功能之一是通用促销/折扣代码系统 - 客户在结账时输入一个代码,该代码授予“免费送货”、“20% 折扣”等折扣。目前,我正在寻找有关如何实现这一点的一些指导(高级解决方案、一些伪想法、一些审查参考等)。
概括:
我正在寻找一种方法来检测用户是否在结帐行的前一阶段输入了促销代码,并确定该促销代码是什么,如果他们这样做了。
迄今为止的进展:
我已彻底审查了所有 Sitecore 电子商务服务 (SES)文档,尤其是“SES 订单行扩展”文档(我认为必须对其进行修改/扩展才能完成此任务)。
此外,我已经彻底阅读了 Sitecore 社区文章 Extending Sitecore E-Commerce - 定价,并相信它可能是静态应用折扣的有用指南,但对于动态应用折扣的方式并没有多说。
在查看了这些文档之后,我提出了以下可能的高级解决方案:
- 我创建了一个模板来表示促销代码,其中包含与促销相关的所有数据(折扣、免费送货、代码等)。
- 然后,我创建另一个模板(基于 Product Search Group 模板),其中包含指向全局“促销代码”项目文件夹中项目的链接。
- 接下来,我使用新模板的产品搜索组功能来选择要应用折扣的产品。
- 在结帐的源代码中,我创建了一个类来检查是否输入了代码,如果是,则以某种方式将其通过其余的结帐过程。这就是我卡住的地方。
更多细节:
- 不使用cookies
- 没有 GET 请求
- 结账过程中不得更改/创建/删除 Sitecore 数据库中的项目(例如,结账期间不得对折扣项目的字段进行操作以表明已应用折扣)
- 必须在 C# 的范围内
最后注意事项:
我将使用我发现/取得的任何更多信息来更新这篇文章。
除了作为该问题的可行解决方案的任何高级答案之外,我升级了所有相关且详细、发人深省或对我有用且对其他人可能有用的答案;即使你的想法对我没有帮助,如果我认为它会帮助别人,我仍然会升级它。
提前感谢您的所有帮助!:)