ColdFusion包括

时间:2012-09-25 15:05:42

标签: coldfusion coldfusion-9 coldfusion-10

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

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

<select>
    <cfinclude template="options.cfm">
</select>

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

<cfset options=<cfinclude template="options.cfm">>

有没有这样做?或者至少是一种更好的方式来完成我正在做的事情。

2 个答案:

答案 0 :(得分:9)

查看cfsavecontent标记,它可以捕获原本输出到响应的内容:

<cfsavecontent variable="options">
    <cfinclude template="options.cfm">
</cfsavecontent>

更新:每次需要保存到变量的选项时,您都可以在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>

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

<cfinclude template="options.cfm">

答案 1 :(得分:0)

我知道这有点晚了,但我看到的一个问题是,这是在网站范围内,还是仅限于每个客户。

如果网站范围很广,但如果在每个客户端上有所不同,则可能会导致一些问题。

我的解决方案因为我不使用cookie或会话是创建临时表并将变量写入其中。每个加载并需要数据查询和/或写入表的页面。 当客户端访问该站点并且该表被命名为时,将创建一个客户端ID变量。

只是一个想法。