不是一个coldfusion特定的问题,所以你可以回答。构建自定义CMS,如何处理页面设置?
我继承,其中在每个页面的顶部不同页面设置特定的变量设置一个ColdFusion项目,如:
<cfset request.page.title = "Example Page">
<cfset request.page.machineTitle = "example_page">
<cfset request.page.isJQueryEnabled = 1>
<cfset request.page.showNavigation = 1>
<cfset request.page.SWFObjectVersion = 2.2>
我想只有
创建数据库表integer page_id
varchar key
varchar value
我会将每页顶部的变量减少到页面ID,然后调用DB进行正确的设置。
这是个好主意吗? 我讨厌重新发明轮子,但这是一个非常大的项目,需要数月的时间才能完成向CMS的内容迁移。
当前存储页面设置的做法是什么? (例如,是什么WordPress的吗?Drupal的?等等)
---- ----编辑
增加新功能/页特定脚本变成了一场噩梦,因为我不得不打开每个文件和添加/编辑/删除一个变量。没有办法知道哪些页面正在使用哪些变量而无需打开它们或使用命令行(我确信会给其他开发人员带来不便)。
另外,当我收到一堆陈旧的变量时会发生什么?例如,最终“usePrototype”变量将被淘汰,整个网站将使用jQuery。
另一种方法是创建一个包含设置这些变量的巨型开关块的文件。这已经完成了一些事情(例如元标记 - switch on request.page.machine title, case xxx <meta tag whatever>
)。一团糟。
你想解决什么问题?目前的方法有什么问题?重构所有现有的(工作)页面以使用不同的方法会给您带来什么样的好处? – 2010-06-12 22:00:32
在eclipse中,您可以搜索并以秒为单位替换所有出现的字符串。我会把它放在Application.cfc中的onRequest方法中。每次调用数据库获取SWFObjectVersion对我来说似乎都有点儿麻烦。 application.config.request.SWFObjectVersion是其中一个选项。 – 2010-06-13 09:02:24