内容管理系统内容需要驻留的位置

时间:2010-03-11 13:54:12

标签: content-management-system

我们正在开发一个在线订购网站,我们计划完全灵活,可以更改布局,颜色,字体,并在页面中添加组件(div)。

在这种情况下,我们是否需要存储所有查看代码

例如

<div id="MenuContent">
    <div>
        <h4>
            Your Order</h4>
        <hr />
        <%if (Model != null)
          {  %>
        <table width="100%">
            <thead>
                <tr>
                    <th>
                        Item
                    </th>
                    <th>
                        Quantity
                    </th>
                    <th>
                        Price
                    </th>
                    <th>
                        Remove
                    </th>
                    <th>
                        Total
                    </th>
                </tr>
            </thead>

...

在数据库中或者我们可以只存储div id并基于该负载在文件系统中可用的视图。 任何指针都非常感谢。

3 个答案:

答案 0 :(得分:0)

这实际上取决于灵活性。如果yopu希望只是能够应用站点范围的主题,那么您可以使用标准类名创建HTML代码并构造一个或多个构成主题的CSS文件。然后添加新主题,制作CSS文件的副本并进行修改。

另一方面,如果您希望个人用户创建自己的外观,那么将其存储在数据库中会更合适。

答案 1 :(得分:0)

请说明您正在尝试做什么以及您正尝试使用哪种系统。

通常,您不希望将HTML保存到数据库......

答案 2 :(得分:0)

Lee正在尝试将实际存储的aspx文件作为内容保存在他的数据库中。如果您需要最大的灵活性,允许用户(或至少非开发人员)能够在不更改代码的情况下自定义站点,这将非常有用。另请注意,他的“文件”中有ASP.NET标记。通常,ASP.NET系统会在请求时从磁盘加载这些文件,并为CLR编译它们。编译后,对相同内容的进一步请求将引用已编译的代码,而不是再次加载文件;至少在文件再次更改之前。这带来了一些需要克服的技术障碍,例如如何让系统覆盖查找文件系统中内置的aspx文件行为,而是自己从数据库中检索数据。网上有关于如何做到这一点的讨论。然后是如何让系统仍然缓存已编译的程序集以及其他一些问题的问题。

但如果这些技术障碍能够得到解决,那么如果灵活性是最终目标,这似乎是一种非常灵活的方法。至于将数据存储在数据库中,这就是数据库所做的事情,即使存在大量条目。可以通过缓存内容来缓解数据库文件I / O,因为任何高性能系统可能已经在使用其他内容。是否已存在将系统的所有UI存储为内容的系统示例?我认为一些更灵活的CMS系统必须已经这样做了。