我正在制作一张图表,上面有一系列调查的结果。CFChartData项是一个类别的名称,值是该类别的平均得分。图表运行良好,但我需要将图表url设置为项目名称以外的其他名称,因为我们使用的友好url系统不允许在Get-url中使用%20(而且大多数类别名称都有空格,CFChart会将其替换为%20)。我也无法更改图表上类别的名称(在图表上使用-或_而不是空格,会导致图表项不换行,然后图表图像只显示其他类别的名称)。
有没有分配要使用的备用ID(例如,当前行或分配的唯一ID),或者可能用-或_替换URL中正在使用的%20,但不在图表本身上(我试图在URL内部进行ReReplace,但它在$ITEMLABEL$分配之前运行,导致错误。)?
编辑-也可以添加代码,尽管它相当通用(不包括我所做的尝试,它只是我现在使用的代码)
<cfchart format="png" scalefrom="1" scaleto="#max#" chartwidth="675" url="#request.site_url#Drivers/Name/$ITEMLABEL$.html">
<cfchartseries type="Bar" colorlist="##000000">
<cfloop query="getGraph">
<cfchartdata item="#Name#" value="#totalratings#">
</cfloop>
</cfchartseries>
</cfchart>
我相信您可以使用cfsavecontent来完成您想要的操作。
<cfsavecontent variable="theGraph">
<cfoutput>
<cfchart format="png" scalefrom="1" scaleto="#max#" chartwidth="675" url="#request.site_url#Drivers/Name/$ITEMLABEL$.html">
<cfchartseries type="Bar" colorlist="##000000">
<cfloop query="getGraph">
<cfchartdata item="#Name#" value="#totalratings#">
</cfloop>
</cfchartseries>
</cfchart>
</cfoutput>
</cfsavecontent>
<cfset theGraph = replacenocase(theGraph,"%20","-","ALL")/>
<cfoutput>#theGraph#</cfoutput>
我的替换逻辑只是一个例子,您可以在呈现字符串之前对其执行任何操作。