Je souhaite gérer un scénario dans lequel l'utilisateur tape une URL de /somePage.cfm lorsque ce modèle n'existe pas et utilise un modèle provenant d'un autre répertoire. Je sais que je peux le faire via des réécritures dans Apache, etc. mais je ne veux pas vraiment stocker la logique là-bas, donc j'ai essayé d'écraser le comportement onTemplateMissing
dans mon Application.cfc. Il semble fonctionner correctement dans mes tests mais je suis inquiet en faisant cette solution hacky Je suis en train de couper certaines parties que je n'ai pas encore vues (par exemple des méthodes que je n'utilise pas actuellement comme onSessionStart etc.) et peut rencontrer des problèmes dans le futur.Substitution de la gestion onMissingTemplate dans Application.cfc
Voici ce que je suis en train de faire:
<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>
Notez que aussi dans ma méthode onRequest
je fais le traitement supplémentaire pour les modèles qui isFooTemplate()
reviendriez vrai.