0

我正在尝试将用 php 编写的自定义 cms 转换为 .net c#。我正在考虑使用 cms 作为学习项目。我将使用 C#、NHibernate ORM 层、mssql、mvc3 和 jquery。

我知道有很多商业广告或开源 cms,但我仍将花费一些空闲时间尝试学习从事此类项目的新技术。

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

谢谢

4

1 回答 1

2

一个真正基本的 CMS 包含 3 个元素:

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

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

在“创建”模式下,页面被请求但它还没有在数据库中(例如cms/announcement1)。在这种模式下,您创建一个由 html 编辑器组成的视图,并在提交时将页面保存到数据库中。

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

如果用户被授权编辑页面,您还会显示一个“编辑”按钮,然后该按钮调用 html 编辑器,页面已加载并准备好进行编辑。

就是这样。

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

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

于 2012-04-06T19:53:44.230 回答