【问题标题】:Adding pages "on the fly" with a CMS system使用 CMS 系统“即时”添加页面
【发布时间】:2009-07-13 12:55:03
【问题描述】:

我正在为我的一位客户构建网站内容管理系统。这是一个高度定制的系统,所以我不能使用任何“搁置”解决方案。

我需要允许我的客户即时向网站添加页面。我在这里有两个选择: (1) 创建一个格式为 www.mycompany.com/page.aspx?catID=5&pageID=3 的数据库驱动页面(使用类别和页面 ID 查询数据库,抓取数据并显示在页面上) - 或- (2) 允许管理系统创建静态页面,例如 www.mycompany.com/company/aboutus.aspx 和 www.mycompany.com/company/company_history.aspx 等。

我相信,虽然前者更容易实现,但后者对用户和 Google 来说都更好。

我的问题是(最后):(1)您是否同意后者是更好的解决方案,以及(2)实施这种解决方案的最佳方法是什么?我是否应该使用文件系统创建和更新每个文件(即 - 站点的管理系统要求用户提供页面/文件名、页面标题和内容,并根据这些参数动态创建页面)?有没有更好的办法?

谢谢!

【问题讨论】:

    标签: content-management-system dynamic-data filesystems


    【解决方案1】:

    完全有可能拥有带有漂亮 URL 的数据库驱动页面。 StackOverflow 本身就是一个很好的例子 - 这个问题的 URL 是 http://stackoverflow.com/questions/1119274/adding-pages-on-the-fly-with-a-cms-system,但页面是从数据库构建的,而不是静态 HTML。

    【讨论】:

    • Stack Overflow 也使用 ASP.NET MVC,这让这变得非常简单。
    【解决方案2】:

    我会使用第一个解决方案,但使用自定义请求处理程序屏蔽地址。基本上,给每个页面一个唯一的字符串 ID(例如about-us),然后使用接收所有请求的请求处理程序,在数据库中找到这个特定页面并呈现它。

    请参阅this article 了解更多信息(在 ASP.NET 中搜索自定义 http 处理程序时发现它。)在那篇文章中,它添加了以下处理程序:

     <add verb="*" path="*.piechart" type="PieChartHandler"/>
    

    您可能希望捕获所有路径 (*),不包括用于 CSS、图像和 JavaScript 的某些媒体路径。

    更多资源:

    【讨论】:

      【解决方案3】:

      如果我在你那里,我会远离静态页面。动态数据、MVC 和一些好的规划应该会让您走得更远!

      您需要做的是创建一些或多个模板,mvc 中的每个视图/控制器都可以使用。让负责内容的人通过动态数据实体来处理它。

      【讨论】:

        【解决方案4】:

        我会使用第一个想法,但会制定一个更好的 URL 方案。如果系统不提供漂亮的 URL(没有?),您将很难让搜索引擎解析整个站点。使用数字而不是文字也会使用户难以传递 URL。

        如果您开始遇到性能问题,您可以添加不时生成静态页面的缓存。在您必须这样做之前,我会避免这样做;在正确处理缓存的过程中,缓存可能会引起很多麻烦。

        【讨论】:

          【解决方案5】:

          尽管现有的建议或多或少是合理的,但评论员未能考虑一个因素,诚然,您没有提供太多细节。这些页面是他们在构建后将编辑的,还是他们一次性的创作?如果是后者,那么您生成静态页面的计划并没有他们建议的那么糟糕。当您可以提供平面内容时,为什么还要考虑数据库架构和缓存。

          这可能会使页面变得毫无生气,走在路的尽头,但如果这是你想要的......

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2012-04-22
            • 2012-07-11
            • 2013-08-01
            • 1970-01-01
            • 2013-09-08
            • 2015-07-09
            • 2014-05-08
            相关资源
            最近更新 更多