0

我正在开发一个项目,我必须使用 Sitecore 的电子商务模块(和 Sitecore 6.5 rev. 120706 - aka 'Update 5')来创建一个网上商店。我正在尝试实现的功能之一是通用促销/折扣代码系统 - 客户在结账时输入一个代码,该代码授予“免费送货”、“20% 折扣”等折扣。目前,我正在寻找有关如何实现这一点的一些指导(高级解决方案、一些伪想法、一些审查参考等)。


概括:

我正在寻找一种方法来检测用户是否在结帐行的前一阶段输入了促销代码,并确定该促销代码是什么,如果他们这样做了。


迄今为止的进展:

我已彻底审查了所有 Sitecore 电子商务服务 (SES)文档,尤其是“SES 订单行扩展”文档(我认为必须对其进行修改/扩展才能完成此任务)。

此外,我已经彻底阅读了 Sitecore 社区文章 Extending Sitecore E-Commerce - 定价,并相信它可能是静态应用折扣的有用指南,但对于动态应用折扣的方式并没有多说。

在查看了这些文档之后,我提出了以下可能的高级解决方案:

  1. 我创建了一个模板来表示促销代码,其中包含与促销相关的所有数据(折扣、免费送货、代码等)。
  2. 然后,我创建另一个模板(基于 Product Search Group 模板),其中包含指向全局“促销代码”项目文件夹中项目的链接。
  3. 接下来,我使用新模板的产品搜索组功能来选择要应用折扣的产品。
  4. 在结帐的源代码中,我创建了一个类来检查是否输入了代码,如果是,则以某种方式将其通过其余的结帐过程。这就是我卡住的地方。


更多细节:

  • 不使用cookies
  • 没有 GET 请求
  • 结账过程中不得更改/创建/删除 Sitecore 数据库中的项目(例如,结账期间不得对折扣项目的字段进行操作以表明已应用折扣)
  • 必须在 C# 的范围内


最后注意事项:

我将使用我发现/取得的任何更多信息来更新这篇文章。

除了作为该问题的可行解决方案的任何高级答案之外,我升级了所有相关且详细、发人深省或对我有用且对其他人可能有用的答案;即使你的想法对我没有帮助,如果我认为它会帮助别人,我仍然会升级它。


提前感谢您的所有帮助!:)

4

2 回答 2

0

我在我的办公室周围发送了这个问题的链接,我的一位没有 Stack Overflow 帐户的同事建议了这个高级解决方案,我代表他发布:


如果您不能使用 cookie,那么我要做的就是以某种方式将输入的代码发布回服务器并将其存储在会话中。

您可以使用 UpdatePanel 控件或一些 JS


请注意,这不是我的答案,我仍在寻找更多潜在的解决方案。

于 2012-09-05T15:36:14.933 回答
0

我正在与另一位过去有使用 SES 经验的同事一起工作,他和我设法DiscountCode在命名空间中找到了一个字段Sitecore.Ecommerce.Orders。我还没有找到任何实际使用该字段的方法(而且我知道该特定命名空间中没有任何方法),但它确实表明折扣代码功能至少在一小部分中内置于模块。

因为它不在文档中,而且我在 Google 中没有找到与此相关的结果,所以我将保留这个问题,而不是删除它。我会接受另一个答案,因为这是一个很好的解决方案,除非我们在 DLL 中找到更多宝藏,否则我们可能会实施它。

于 2012-09-10T20:43:59.103 回答