Компонент ColdFusion в переменную - PullRequest
1 голос
/ 22 февраля 2011

У меня есть компонент coldfusion, который не редактируется, только выводит строки и не возвращает переменную (и нет оператора return *).Как я могу захватить эту отраженную строку и поместить ее в переменную, прежде чем она отобразится прямо на экране?Итак:

<cfcomponent displayname="Helpz">
<cffunction name="OutputString" returnType="void" output="yes">
    I love Stack overflow
</cffunction>

Выведенная строка должна быть сохранена в переменной.

Ответы [ 3 ]

4 голосов
/ 22 февраля 2011

CFSavecontent - это то, что вам нужно.

<cfsavecontent variable="myString"><cfset object.outputString() /></cfsavecontent>

Тогда вы можете делать все что угодно с #myString #.

4 голосов
/ 22 февраля 2011
<cfsavecontent variable="foo">
<cfset myComponent.outputString()>
</cfsavecontent>
1 голос
/ 22 февраля 2011

Вероятно, лучше избегать такого рода вывода внутри функции. Альтернативное решение будет:

<cfcomponent displayname="Helpz">
<cffunction name="getString" returnType="string" output="no">
    <cfset var myString = "">
    <cfsavecontent variable="myString">I love Stack overflow</cfsavecontent>
    <cfreturn myString>
</cffunction>
</cfcomponent>

и затем в вашем шаблоне или где-либо:

<cfoutput>#myCfc.getString()#</cfoutput>
...