是否可以使用某些URL参数从另一个cfm文件调用cfm文件?
cfinclude不起作用,因为它只包含内容..
答案 0 :(得分:15)
当您使用<cfinclude>
时,您将要包含的页面中提供调用该文件的页面中的所有可用值。
所以你基本上可以传入变量而不是URL参数,并实现相同的功能。但是,您必须在include之上声明变量。
example.cfm
<cfset x = 5 />
<cfinclude template="derp.cfm" />
derp.cfm
<cfif IsDefined("x")>
<cfoutput>#x#</cfoutput> //this should output 5 since it was declared before the include
</cfif> //always good to make sure they're defined first
答案 1 :(得分:3)
您还可以通过cfmodule调用传递变量(cfmodule template =“myfile.cfm”x =“5”)。但是这很快就变得复杂了,对于简单的操作来说可能有点过分。我想这将取决于你所调用的页面需要做什么,以及如果你的被调用页面的内容暴露给页面的其余部分是否重要。但是你很好地进入了“我应该在CFC中做到这一点”的领域。
cfmodule是一种可能性,但不是我没有理由推荐的。如果你必须有这种级别的封装,我可能会在CFC中进行。
答案 2 :(得分:1)
对于我的情况,我是这样做的,
<cfset URL.productId = 456>
<cfset URL.templateId = 2066>
<cfinclude template="mytemplate.cfm">
因此,在我的模板页面中,productId和templateID都将在URL范围内可用。