Заменить URL CFChart - PullRequest
       35

Заменить URL CFChart

0 голосов
/ 09 марта 2012

Я работаю над диаграммой, в результате которой были сделаны серии опросов.Элемент CFChartData - это название категории, а значение - это средний балл, присвоенный этой категории.Диаграмма работает нормально, но мне нужно, чтобы URL-адрес диаграммы отличался от имени элемента, потому что система Friendly Url, которую мы используем, не позволяет использовать% 20 ​​в Get Url (а большинство имен категорий имеют пробелы,которые заменяются на% 20 с помощью CFChart).Я также не могу изменить имя категории на диаграмме (имея - или _ вместо пробелов на диаграмме, из-за этого элемент диаграммы не переносится, и тогда на изображении диаграммы отображаются только все остальные названия категорий).

Есть ли в любом случае назначить альтернативный идентификатор для использования (например, текущая строка или назначенный уникальный идентификатор) или, возможно, заменить% 20, которые используются в URL, на - или _, но не на самой диаграмме(Я пытался сделать ReReplace внутри URL, но он запускается до того, как $ ITEMLABEL $ назначается, что вызывает ошибку.)?

Edit - также можно добавить код, даже если он довольно общий(и не включает попытки, которые я сделал, это просто код, который я сейчас использую)

<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>

1 Ответ

2 голосов
/ 16 ноября 2012

Я полагаю, что вы можете делать то, что ищете, используя 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>

Моя логика замены - всего лишь пример, вы можете сделать что угодно со строкой до ее рендеринга.

...