我正在学习ColdFusion。我有PHP背景,我有点困惑。
我有一个选择菜单,我希望将选项保存在不同的文件中。 (例如options.cfm)当我调用文件时,我想在选择菜单中包含选项。 现在我意识到我可能会这样做:
<select>
<cfinclude template="options.cfm">
</select>
虽然我真正想做的事情有点复杂。我希望将cfinclude
保存在变量中。我意识到这不起作用,但它基本上是我想要完成的事情:
<cfset options=<cfinclude template="options.cfm">>
有没有这样做?或者至少是一种更好的方式来完成我正在做的事情。
答案 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变量。
只是一个想法。