我正在尝试将用 php 编写的自定义 cms 转换为 .net c#。我正在考虑使用 cms 作为学习项目。我将使用 C#、NHibernate ORM 层、mssql、mvc3 和 jquery。
我知道有很多商业广告或开源 cms,但我仍将花费一些空闲时间尝试学习从事此类项目的新技术。
那么,有没有人愿意分享一些关于创建 cms 域模型、有用链接、想法等的想法。
谢谢
我正在尝试将用 php 编写的自定义 cms 转换为 .net c#。我正在考虑使用 cms 作为学习项目。我将使用 C#、NHibernate ORM 层、mssql、mvc3 和 jquery。
我知道有很多商业广告或开源 cms,但我仍将花费一些空闲时间尝试学习从事此类项目的新技术。
那么,有没有人愿意分享一些关于创建 cms 域模型、有用链接、想法等的想法。
谢谢
一个真正基本的 CMS 包含 3 个元素:
/cms/pagename
为固定控制器的路由,调用的方法cms
和pagename
作为参数现在,有两种方法可以调用您的“页面”。它是创建模式或查看/编辑模式。
在“创建”模式下,页面被请求但它还没有在数据库中(例如cms/announcement1
)。在这种模式下,您创建一个由 html 编辑器组成的视图,并在提交时将页面保存到数据库中。
在“查看”模式下,页面被请求并且在数据库中。您执行任何必要的重写(例如,您将表单的内部链接重写为[cms/pagename]
完全可路由的 http 地址)并呈现内容。
如果用户被授权编辑页面,您还会显示一个“编辑”按钮,然后该按钮调用 html 编辑器,页面已加载并准备好进行编辑。
就是这样。
有大量附加元素(缓存、不同的内置页面类型、嵌入图像、youtube、预格式化文本)等,但所有这些都是可选的,当您已经实现核心时,您可以引入新功能。
一旦我按照上面的结构编写了一个简单的 CMS,它就是一个更大的解决方案的一部分,到目前为止它已经成功部署了数百次。自定义 CMS 的一个优点是它非常简单且易于维护。