1

问了这么多问题我有点惭愧,但我真的很想学习。在Sipke 的博客中创建了一个网上商店。在尝试做类似的事情时,有一个特定的问题让我难以置信。

先说一下基本要求:

  • 用户注册表单和登录等。这个被博客覆盖了,效果很好。
  • 创建产品零件等。这个被覆盖了,没有问题。
  • 通过填写订购单并付款进行订购。向下看
  • 让客户可以维护订单页面。往下看。
  • 查看您自己的订单及其状态。向下看
  • 维护来自后端系统的客户和订单。这个在博客中有介绍,我还需要在那里做一些工作。

至于有关创建订单和查看订单的项目。我遵循了创建记录和使用标准 MVC 控制器的方法。但是后来我遇到了问题:

  1. 订单页面的菜单。这是我在安装模块后必须手动完成的。
  2. 订单页面本身。我必须创建包含标题等的视图。但我可以想象一个客户想要另一个菜单上的订单页面和不同的标题。甚至可能在订购页面中添加一些自己的内容。这是我无法通过使用标准 MVC 方法实现的。所以也许我在这里使用了错误的方法。所以我正在考虑使用 contentparts 来创建订单并显示它们,并为此使用驱动程序和处理程序。但在我走这条路并重构一切之前,我想知道这是否是正确的方法。不利的一面可能是,一旦模块遵循该路线,它就不能轻易地被具有其他 cms 能够托管 MVC3 模块的客户重用。

因此,何时使用驱动程序、处理程序和内容部分以及何时使用标准控制器和视图。

4

1 回答 1

4

当您想要为内容项创建功能时,您应该使用驱动程序和部件(如果需要,可以使用处理程序)。例如,如果您想显示包含所有产品的自定义媒体,您可以创建一个部件(连同其驱动程序等)来处理它。阅读有关部件的文档

如果该功能不与内容项绑定,那么您最有可能使用标准 MVC 工具箱,这很好。看看内置模块是如何做到的。例如,Blog 模块使用控制器和视图来显示管理 UI,但有一些部分可以增强功能,例如 Blog 内容类型。

为了使事情变得更复杂,您可以使用临时内容项来构建通常使用简单视图的页面,但这是一个高级主题:-)。

于 2012-08-09T13:42:31.933 回答