4

我目前正在学习 ColdFusion。我有 PHP 的背景,对此我有点困惑。

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

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

虽然我真正想做的事情有点复杂。我想cfinclude保存在一个变量中。我意识到这行不通,但这基本上是我想要完成的:

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

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

4

2 回答 2

9

看一下cfsavecontent标记,它允许您捕获原本会输出到响应的内容:

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

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

<!--- 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 该文件。

<cfinclude template="options.cfm">
于 2012-09-25T15:13:20.053 回答
0

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

如果站点范围很广,那么很好,但是如果每个客户端都不同,则可能会导致一些问题。

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

只是一个想法。

于 2014-09-11T08:07:01.117 回答