cfsavecontent动态传递变量

时间:2014-08-05 17:58:24

标签: coldfusion

我有一个带有html和css的cfm页面,这是电子邮件模板所必需的。我有一个sender.cfm文件,它将包含模板文件并动态替换模板文件中的变量。

以下是模板文件的一部分

 <td valign="top" align="left" style="padding:0 0 10px 0;">                 
    <p style="font-family:Arial, Helvetica, sans-serif; font-size:14px; line-height:18px; margin:8px 10px 10px 0; padding:0; color:#102044;">
        [INSERT QUESTION 1]
    </p>  
 </td> 

现在在发件人文件中,我有一个提取问题的cfquery。我正在做这样的事情:

<cfsavecontent variable="questions">
    <cfoutput><strong>#get_ques_text.questiontext#</strong></cfoutput>
</cfsavecontent>  

<cfinclude template="weekly_template.cfm">

<cfset nl_template = replaceNoCase(nl_template, "[INSERT EMAIL TITLE]"
                        , "WEEKLY EMAIL") />

<cfset nl_template = replaceNoCase(nl_template, "[INSERT QUESTION 1]"
                        , questions)/>

我希望能够获得cfsavecontent变量中所有问题的列表。但是,在上面的代码中,我只获得了第一个。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

如果您将查询值引用为queryName.columnName,那么您将引用其中一个:

  • 该列的第一行值;
  • 整个列,作为数组;

取决于具体情况。在您正在这样做的情况下 - CF期望字符串 - 您只需获得该列的第一行值。

如果你想迭代整个查询,你需要告诉 ColdFusion,通过:

<cfloop query="yourQuery">

在你的情况下,像这样:

<cfsavecontent variable="questions">
    <cfloop query="get_ques_text">
        <cfoutput><strong>#questiontext#</strong></cfoutput>
    </cfloop>
</cfsavecontent>