ColdFusion包括

use*_*910 4 coldfusion coldfusion-9 coldfusion-10

我正在学习ColdFusion.我有PHP背景,我有点困惑.

我有一个选择菜单,我希望选项保存在不同的文件中.(例如options.cfm)当我调用文件时,我想在选择菜单中包含选项.现在我意识到我可能会这样做:

<select>
    <cfinclude template="options.cfm">
</select>
Run Code Online (Sandbox Code Playgroud)

虽然我真正想做的事情有点复杂.我想将cfinclude保存的内部变量.我意识到这不起作用,但它基本上是我想要完成的:

<cfset options=<cfinclude template="options.cfm">>
Run Code Online (Sandbox Code Playgroud)

反正有吗?或者至少是一种更好的方式来完成我正在做的事情.

bar*_*nyr 9

查看cfsavecontent标记,它允许您捕获否则将输出到响应的内容:

<cfsavecontent variable="options">
    <cfinclude template="options.cfm">
</cfsavecontent>
Run Code Online (Sandbox Code Playgroud)

更新:每次需要保存到变量的选项时,您可以在options.cfm文件中执行一次,而不是使用cfsavecontent.然后,只要您包含该文件,它就会创建该变量.

<!--- Inside options.cfm --->
<cfsavecontent variable="options">
    <option value="val1">Value 1</option>
    <option value="val2">Value 2</option>
    <option value="val3">Value 3</option>
</cfsavecontent>
Run Code Online (Sandbox Code Playgroud)

然后,只要您需要存在该变量,您只需要包含该文件.

<cfinclude template="options.cfm">
Run Code Online (Sandbox Code Playgroud)