Mura CMS插件会话

时间:2013-04-06 07:37:58

标签: coldfusion mura

我正在开发一个插件来处理网站成员的更高级搜索,并查看网站成员的高级搜索(cpublicusers.dsp_advancedsearch.cfm)我发现它的分页方式是它设置了搜索表单到会话。我尝试使用以下代码执行以下操作:

 <cfif NOT structKeyExists(SESSION,'reportForm')>

 <cfset SESSION.reportForm = FORM />

 <cfset sessionisset = true />

 <cfelse>
 <cfset sessionisset = false />

sessionisset变量仅供我测试。 当我尝试导航到分页时,我发现正在清除session.reportForm变量。任何人都可以解释为什么会这样。

1 个答案:

答案 0 :(得分:1)

FORM是在每个页面上重新初始化的系统结构。结构通过“引用”传递,这意味着您只是存储指向FORM的指针。因此,当FORM重新初始化时 - 您的会话变量也是如此。

修复方法是对结构进行深层复制,使其不受FORM更改的影响。 查看sourceprint?

<cfset SESSION.reportForm = duplicate(FORM) />