将 Orchard CMS 与自定义 MVC 电子商务网站合并

Posted

技术标签:

【中文标题】将 Orchard CMS 与自定义 MVC 电子商务网站合并【英文标题】:Merging Orchard CMS with custom MVC ecommerce site 【发布时间】:2011-09-19 02:18:17 【问题描述】:

我有一个大型自定义电子商务引擎,目前正在使用 SQL Server 数据库(处理大多数数据任务的存储过程)、一个 WCF 中间层(处理业务逻辑)和一个 MVC 前端站点(不知道任何数据库)。我们对内容管理系统的需求正在迅速增加,考虑到我们的开发资源非常繁重,我正试图找出实施该系统的最佳方法。

我最初认为它只是拥有两个网站,一个 Orchard CMS 网站和我们的电子商务网站。我可以设置某种类型的请求路由,将目录浏览和购物车功能的 URL 发送到电子商务站点,而其他 URL 由 Orchard 站点处理。我必须在 Orchard 站点中构建几个模块(或小部件),以显示出现在每个页面标题中的购物车摘要等内容。这似乎是最简单的处理方法,即使是短期的。

我的另一个想法是让网站完全使用 Orchard 构建。这需要将我们的电子商务逻辑移植到模块中。这似乎是一项艰巨的任务。我们所有的工作都是通过 Web 服务完成的,因此如果用户访问特定类别的 URL,该站点将调用 Web 服务并传递一些变量(客户 ID、类别等)。 Web 服务将返回该客户的类别、产品和价格 - 然后将显示在屏幕上。

最后,最后一个选项的一个更复杂的版本是将产品实际存储在 Orchard 中,以便通过 Orchard CMS 管理可编辑字段(描述、元标记等)。这将需要对我们的 WCF 中间层进行重大更改(或吸收)。这似乎几乎是不可能的,但可以更好地处理更多媒体(照片、视频、MSDS 表、产品资料等)。

到目前为止,您对这三个模型有何看法。

【问题讨论】:

你看过这篇文章吗? ***.com/questions/4727843/… 【参考方案1】:

您可以创建一个简单的 Orchard 模块,该模块很像 MVC 项目中的一个区域。它使用控制器和视图,如果您熟悉 MVC,则很容易做到。如果你不想要的话,你不需要将它与 Orchard 进行大量集成。您的模块内容将位于一个文件夹中,Orchard 将管理站点的其余内容。

要使您的模块中的页面使用站点中的果园主题,您只需将 [Themed] 过滤器添加到您的控制器。

hello world example in the Orchard Documentation 向您展示了如何执行此操作。

这将是最简单的选择,但如果您决定将产品存储为 Orchard 内容项,则会有好处。到达那里会更加困难,但您可以利用其他 Orchard 模块,并为您的产品添加标签、cmets 和评论等内容部分。

【讨论】:

以上是关于将 Orchard CMS 与自定义 MVC 电子商务网站合并的主要内容,如果未能解决你的问题,请参考以下文章

Orchard是如何呈现内容的

我应该将我的解决方案移至 Orchard CMS 还是手动添加所有内容?

初试Orchard Core CMS

Orchard CMS 默认寻呼机问题

如何重新安装Orchard CMS?

如何在 Orchard CMS 中获取动态表单提交记录数