このテンプレートが存在しないときにユーザーが/somePage.cfmのURLをヒットし、別のディレクトリのテンプレートを使用するシナリオを処理したいとします。私は、Apacheの書き換えなどでこれを行うことができることは分かっていますが、実際にはロジックを格納したくないので、Application.cfcのonTemplateMissing
の動作をオーバーライドしてくれました。Application.cfcでのonMissingTemplateのオーバーライド
私のテストでは問題なく動作しているようですが、私はこのハックな解決策を実行することで心配しています。私はまだ見ていない部分を切っています(例えば、現在onSessionStartなど)、今後問題になる可能性があります。また、私のonRequest
方法で、私はさらにisFooTemplate()
がにtrueを返しますテンプレートの取り扱いやってる
<cffunction name="onMissingTemplate">
<cfargument name="targetPage" />
<!--- Handle any templates that we're really loading from elsewhere --->
<cfif isFooTemplate(arguments.targetPage)>
<cfset onRequestStart(arguments.targetPage) />
<cfset onRequest(arguments.targetPage) />
<cfset onRequestEnd(arguments.targetPage) />
<cfreturn true />
</cfif>
<cfreturn false />
</cffunction>
注:ここでは
は、私が現在やっているものです。