Sitecore电子商务模块 - 折扣/促销代码

时间:2012-09-05 15:12:49

标签: c# asp.net e-commerce sitecore sitecore6

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


总结:

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


迄今为止的进展:

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

此外,我已经彻底查看了Sitecore社区文章Extending Sitecore E-Commerce - Pricing,并认为它可能是静态应用折扣的有用指南,但没有说明动态应用折扣的方式。

在审阅这些文件后,我提出了以下可能的高级解决方案:

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

  5. 更多详情:

    • 不使用cookies
    • 没有GET请求
    • 在结帐过程中不会更改/创建/删除Sitecore数据库中的项目(例如,在结帐时没有操纵折扣商品的字段以表示已应用折扣)
    • 必须保持在C#
    • 的范围内


    最后注释:

    我将使用我发现的任何更多信息更新此帖子。

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


    在此先感谢您的帮助! :)

2 个答案:

答案 0 :(得分:0)

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


  

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

     

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


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

答案 1 :(得分:0)

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

因为它不在文档中,而且我发现没有结果引用这个,我将提出这个问题,而不是删除它。我将接受另一个答案,因为这是一个很好的解决方案,除非我们在DLL中找到更多的宝藏,否则我们可能会实施。