我有一个大型自定义电子商务引擎,目前正在使用SQL Server数据库(处理大多数数据任务的存储过程),WCF中间层(处理业务逻辑)和MVC前端站点(没有任何知识)任何数据库)。我们对内容管理系统的需求正在快速增长,我正在尝试找出实现内容管理系统的最佳方法,考虑到我们非常有税的开发资源。
我首先想到它只有两个网站,一个Orchard CMS网站和我们的电子商务网站。我可以设置某种类型的请求路由,将目录浏览和购物车功能的URL发送到电子商务网站,而其他URL由Orchard站点处理。我必须在Orchard站点内构建一些模块(或小部件),这些模块将显示每个页面标题中显示的购物车摘要等内容。这似乎是最简单的处理方法,即使它是短期的。
我的另一个想法是使用Orchard完全构建网站。这需要将我们的电子商务逻辑移植到模块中。这似乎是一项艰巨的任务。我们所有的工作都是通过Web服务完成的,因此如果用户访问特定的类别URL,该站点将调用Web服务并传递一些变量(客户ID,类别等)。 Web服务将返回该客户的类别,产品和价格 - 然后将显示在屏幕上。
最后,最后一个选项的更复杂版本是将产品实际存储在Orchard中,以便通过Orchard CMS管理可编辑字段(描述,元标记等)。这将需要对我们的WCF中间层进行重大改变(或吸收)。这似乎几乎是不可能的,但可能允许更好地处理更多媒体(照片,视频,MSDS表,产品文献等)。
到目前为止,您对这三种模式之间有什么想法。
答案 0 :(得分:2)
您可以创建一个简单的Orchard模块,它很像MVC项目中的一个区域。它使用控制器和视图,如果您熟悉MVC,则很容易做到。如果你不想要的话,你不需要将它与Orchard非常重要地集成在一起。您的模块内容将位于文件夹中,Orchard将管理网站内容的其余部分。
要使模块中的页面使用网站中的果园主题,您只需将[主题]过滤器添加到控制器即可。
hello world example in the Orchard Documentation向您展示了如何执行此操作。
这将是最简单的选择,但如果您决定将产品存储为Orchard内容项,则会有好处。要实现这一目标会更加困难,但您可以利用其他Orchard模块,并为您的产品添加标签,评论和评论等内容部分。