另一个.net自定义cms

时间:2012-04-06 19:07:57

标签: c# content-management-system domain-driven-design .net

我正在尝试将用PHP编写的自定义cms切换到.net c#。我当时想用cms作为学习项目。我将使用C#,NHibernate ORM层,mssql,mvc3和jquery。

我知道有很多商业广告或开源cms,但我仍然会花一些空闲时间来尝试学习像这样的项目的新技术。

那么,是否有人愿意分享关于创建cms领域模型,有用链接,想法等的一些想法。

谢谢

1 个答案:

答案 0 :(得分:2)

一个真正基本的CMS由3个元素组成:

  • 一个数据库表来保存您的“页面”。表结构是“名称”和“内容”
  • /cms/pagename类型的请求转换为固定控制器的路由,该方法称为cmspagename作为参数
  • 一个可嵌入的html编辑器

现在,您可以通过两种方式调用“页面”。它可以是创建模式或查看/编辑模式。

在“创建”模式下,页面被请求但尚未在数据库中(例如cms/announcement1)。在此模式下,您将创建一个由html编辑器组成的视图,并在提交后将页面持久保存到数据库中。

在“查看”模式下,页面被请求并且在数据库中是IS。您执行任何必要的重写(例如,您将表单[cms/pagename]的内部链接重写为完全可路由的http地址)并呈现内容。

如果用户有权编辑页面,您还会显示一个“编辑”按钮,然后在加载页面并准备好进行编辑的情况下调用html编辑器。

就是这样。

还有大量的附加元素(缓存,不同的内置页面类型,嵌入图像,youtubes,预先格式化的文本等),但所有这些元素都是可选的,当你已经实现了核心时,你可以引入新的功能。 / p>

一旦我按照上面的结构编写了一个简单的CMS,它就是一个更大的解决方案的一部分,到现在为止已经成功地部署了数百次。自定义CMS的一个优点是它可以非常简单且易于维护。