我正在尝试学习 Coldbox 以替换我正在使用的当前框架。我目前使用的功能之一是能够按照约定覆盖任何模板包含。
本质上,假设我有一个视图,“views/home.cfm”
<h1>I am the default theme</h1>
这一切都很好。但是可以说我有不同的看法,“themes/[theme-name]/views/home.cfm”
<h1>I am the user chosen theme</h1>
我想有条件地包含(比如有一个 cookie 来确定正在使用的主题)。此外,如果文件不存在,则应呈现默认/备用视图。
有什么方法可以覆盖系统功能吗?
我查看了拦截器,preViewRender 和 postViewRender 拦截器似乎是做这种事情的地方,但似乎没有任何方法可以操纵实际的工作流程。如果似乎主要是内容的前/后处理。例如,似乎没有办法“返回 false”来告诉 renderView 方法实际上不渲染视图。或任何影响要找到视图的位置的方式。
有任何想法吗?