現在使用しているフレームワークをおそらく置き換えるために、Coldbox を学習しようとしています。私が現在使用している機能の 1 つは、慣例によりテンプレートのインクルードをオーバーライドする機能です。
基本的に、「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 インターセプターはこのようなことを行う場所のように見えますが、実際のワークフローを操作する方法はないようです。主にコンテンツの前後処理のようです。たとえば、実際にはビューをレンダリングしないように renderView メソッドに指示するために「false を返す」方法はないようです。または、ビューが見つかる場所に影響を与える方法。
何か案は?