随机化cfoutput

时间:2015-06-02 16:33:50

标签: coldfusion

以下代码根据/ home url是否处于活动状态来更改主体BG,否则使用不同的BG。我们的pageID = 206包含/ home BG图像,pageID = 207包含else BG图像。我们目前以这种方式进行设置,以便客户端可以进入CMS并更改BG图像而不会出现问题。

但是,客户希望能够添加其他背景并让它们随机化。从理论上讲,我会向CMS添加一个页面并包含pageID并添加随机化。我熟悉ColdFusion,但这有点过头了。任何意见或方向都将不胜感激。

<cfsavecontent variable="HOME_BG">
  <cfoutput>
<cfset includeID = '206'><cfinclude emplate='/PageInclude/PageInclude.cfm'/>
  </cfoutput>
</cfsavecontent>
<cfset BG1 = getToken(HOME_BG,3, """") >

<cfsavecontent variable="COMM_BG">
  <cfoutput>
<cfset includeID = '207'><cfinclude template='/PageInclude/PageInclude.cfm'/>
  </cfoutput>
</cfsavecontent>  
<cfset BG2 = getToken(COMM_BG,3, """") >

<body onload="checkCookie()" style="background-image: url(<cfoutput><cfif fpath EQ "home">#BG1#<cfelse>#BG2#</cfif></cfoutput>);">

我一直在寻找能够在两种不同的方式之间随机化的能力。 cfset&gt;但是没有找到好运。

使用数组和randrange的解决方案

<cfset bgHomeIDArray = ArrayNew(1)>     <!--- Create the array --->
<cfset ArrayAppend(bgHomeIDArray, 214)>     <!--- Adds an array value --->
<cfset ArrayAppend(bgHomeIDArray, 215)>     <!--- Adds an array value --->
<cfsavecontent variable="HOME_BG">
  <cfoutput>
<cfset includeID = bgHomeIDArray[randRange(1, len(bgHomeIDArray))]>  <cfinclude template='/PageInclude/PageInclude.cfm'/>
  </cfoutput>
</cfsavecontent>
<cfset BG1 = getToken(HOME_BG,3, """") >


<cfset bgCommIDArray = ArrayNew(1)>     <!--- Create the array --->
<cfset ArrayAppend(bgCommIDArray, 216)>     <!--- Adds an array value --->
<cfset ArrayAppend(bgCommIDArray, 217)>     <!--- Adds an array value --->
<cfsavecontent variable="COMM_BG">
  <cfoutput>
<cfset includeID = bgCommIDArray[randRange(1, len(bgCommIDArray))]><cfinclude template='/PageInclude/PageInclude.cfm'/>
  </cfoutput>
</cfsavecontent>
<cfset BG2 = getToken(COMM_BG,3, """") >

<body onLoad="checkCookie()" style="background-image: url(<cfoutput><cfif fpath EQ "home">#BG1#<cfelse>#BG2#</cfif></cfoutput>?03202014);">

0 个答案:

没有答案