您清楚地解释了您的要求:
我需要能够...从应用程序中的任何位置调用它。
所以,不要这样做:
“有一个 .cfc 文件,其中包含我的所有功能(包装在标签中),包括这个:”
“从应用程序中的任何位置调用它”的要求在 ColdFusion 中仅暗示一件事:应用程序范围的变量。
因此,请改为执行以下操作:将页脚功能从该 CFC 传输到 Application.cfc。
假设以下是您的 Application.cfc 的摘录。
然后,执行以下操作:
<cfcomponent displayname="Application" output="true" hint="Handle the application.">
<!--- Set up the application. --->
<cfset this.Name = "AppCFC" />
<cfset this.ApplicationTimeout = createTimeSpan( 1, 0, 0, 0 ) />
<cfset this.sessionTimeout = createTimeSpan( 0, 0, 30, 0 ) />
<cfset this.sessionManagement = true />
<cffunction
name="OnApplicationStart"
access="public"
returntype="boolean"
output="false"
hint="Fires when the application is first created.">
<!--- This variable is available to every CFM page in the application --->
<cfset application.footer=getFooter()>
<cfreturn true />
</cffunction>
<cffunction
name="getFooter"
output="false"
access="public"
returnType="string">
<cfset var footer = "<footer class=""text-center"">I am a footer.</footer>" />
<cfreturn footer />
</cffunction>
</cfcomponent>
然后,在应用程序的任何 CFM 文件中:
<cfoutput>#application.footer#</cfoutput>