将简单CMS功能添加到现有MVC应用程序

时间:2015-08-11 23:51:22

标签: asp.net asp.net-mvc

我们有许多MVC应用程序作为面向公众的网站。这些应用程序是使用MVC构建的,因为这是开发人员理解的技术堆栈,主要是基于业务流程数据提供的内容。

然而,越来越多的人被要求在网站上添加“另一个页面”,所有意图和目的都是一个普通的静态内容页面。这最终涉及:

  1. 添加新路线
  2. 使用所需的HTML
  3. 创建视图

    我们有各种“本土化”解决方案,现在可以从数据库中为这些视图提取HTML。然而,这意味着我们正在编写自定义后端数据输入屏幕以及1& 2以上。

    所以....必须有更好的方法。有没有人有任何实际经验或建议如何添加我们可以提供给最终用户的简单CMS功能,插入我们的MVC应用程序?我们需要为最终用户提供以下功能:

    1. 使用WYSIWYG
    2. 创建新页面,编辑页面
    3. 为SEO添加元标记和规范标记
    4. 为SEO目的指定uri的url部分
    5. 所有见解都很受欢迎。

2 个答案:

答案 0 :(得分:0)

执行以下操作是否可行:

拥有一个数据库表来存放这些页面的内容。例如标题,摘要,描述,网址,元,图像等......

在前端有这些页面的模板。数据库数据填充此模板中的占位符。

或许将所有网页保留在基本网址上,例如 www.yoursite.com/page / dynamic-page-url-from-db

您可以在Remote字段上使用url属性验证,以确保它们在数据库中都是唯一的。

考虑到这一点,创建一个Route来捕获请求,并根据db提供的URL在Page控制器中过滤有效/无效请求。如果不存在throw new HttpException(404, "Page Not Found");并且有错误处理程序选择并提供您的404。

可以通过ViewBag或专用section设置META,以便在呈现视图时更改_Layout文件。

TinyMCE是一个不错的WYSIWYG编辑器。如果要在页面主体中嵌入图像,甚至可以为其添加动态图库功能。

答案 1 :(得分:0)

我正在努力将目前在严苛的生产环境中使用的CMS制作成产品。我刚刚(截至2015年1月20日)制作了一个NuGet包,它将CMS安装到MVC项目中,该项目应该可以添加到任何现有的MVC站点而不会破坏它。然后可以在需要时添加CMS功能。目前,我正在寻求与一些用户合作,以​​帮助他们在他们的网站上将CMS投入生产,但是当您阅读本文时,这可能已经改变。查看http://www.lynicon.com以获取更多信息,并注册Slack社区,在那里我可以访问NuGet包。