在工作中,我们使用传统的 CMS,每个网页使用物理文件。CMS 使用 ColdFusion 作为服务器端语言。页面源自模板,您可以从模板创建模板。这实际上以一种很好的方式允许粒度。但是,我已经看到,如果我们可以让页面本身成为数据库记录,我们就可以消除创建页面的需要,类似于 WordPress 所做的。
以下是我在尝试实现这一点时遇到的限制……一个页面可以在本地添加元素。因此,如果我们使用模板 A 创建页面 1,它会继承模板 A 的所有元素以及模板的所有配置。但是,在第 1 页上,在创建后,我可以直接手动将一个元素添加到该页面(使用 CMS GUI),该元素仅驻留在该页面上。在我看来,如果我尝试为我们的 CMS 实现一个 MVC 框架,那么任何时候我们想向一个页面添加一个本地元素,这将构成对新“页面类型”的需求。元素要么配置为“本地数据”并通过页面 ID 绑定到页面,要么配置为“全局数据”
这是一个很大的问题,我试图以最简洁的方式给出问题和场景。我不是在寻找如何实现 MVC 本身,而是在考虑到我们的 CMS 数据库本地工作方式的限制下如何实现 MVC。
我看到解决这个问题的另一种方法是在我创建的 MVC 框架中“创建页面”的新方法我可以通过在页面记录中添加元素的能力来解决这个问题 - 如果这有意义的话。
想法?非常感谢任何建议或帮助。