(1) Orchard 开发之自定义 Module

  很多刚接触 Orchard 的同学,不知道怎么用 Orchard 来建立我们自己的网站。
  首先 Orchard 是一个 CMS 系统,它可以方便的建立一系列可定制的页面。
  所谓可定制(Customize)的页面是指页面上的每一块内容都可以动态设定,包括 content 和
  它的 style, 这就是 CMS 系统的作用,方便我们快速的建立很多 Customize 的页面。

  另外一点需要注意的是,你建立的 Page 并不存在对应的磁盘文件,Orchard 会把你页面的
  Content 和 Style 的设置存放在数据库中,当你通过 Url 访问自己建立的页面时, Orchard
  通过 Url 路由的匹配,会从数据库表中取出你页面的信息,然后动态生成一个页面返回到客户端,
  每一次请求都是这样的过程。

  那么我们为什么需要扩展 Orchard 的 Module 呢?
  显然当 Orchard 内置的一些 Module 不能满足我们的需要时,我们就需要扩展 Orchard 了。
  例如现在你想建立很多个显示不同 Product 的页面,Product 有 Id、Name、Price、ProducedDate 等属性。
  首先你可以定义一个 ContentType,然后添加很多个 Field,这样也可以,但对于复杂的 Model,
  显然我们自定义一个 Module 要好的多,这样我们只需升级维护这个 Module 就行了,包括 Persistence
(数据的持久化(CRUD)都由 Orchard 在底层来替我们做,这也是我们使用 Orchard 的原因) 
  和 Style 的控制。有了 Module 我们就可以用 Orchard 进行 Product 的 CRUD 和显示在 Grid 中等操作了。

  这是 Code First(先有代码,通过 ORM 生成数据库) 的方式,但我不知道 Orchard 是否支持 Design First
  的方式? Orchard 之所以在 DataMigration 中进行数据库的创建和维护,是因为便于维护,在你开发一个 Module 后

  想发布出去的时候,不用连同建表的 SQL 文件一同发布,这样 Module 就能自治了,用户下载下来安装后, Orchard 就能

  自动识别并使用了。

 

  有关自定义 Model 请参考官网:

  Building a Hello World module :http://docs.orchardproject.net/Documentation/Building-a-hello-world-module
  Creating a Module with a Simple Text Editor :http://docs.orchardproject.net/Documentation/Creating-a-module-with-a-simple-text-editor
  Creating 1-N and N-N Relations :http://docs.orchardproject.net/Documentation/Creating-1-n-and-n-n-relations

 

 

你可能感兴趣的:(Module)