【问题标题】:Confusion on when to use cfoutput in cfmail关于何时在 cfmail 中使用 cfoutput 的困惑
【发布时间】:2015-05-19 07:55:55
【问题描述】:

我不是 100% 了解何时使用 cfoutput 以及如何在以下示例中使用 cfoutput。是否应该将整个 cfmail 包装在 cfoutput 中?

背景:我有一个基于 if 语句发送电子邮件的函数。电子邮件的消息包含来自 cfquery 的变量。

 <cffunction name="emailUpdate" access="public" returntype="string">

    <cfargument name="usr_email" required="yes">
    <cfargument name="status_update" required="yes">
    <cfargument name="form_id" required="yes">


    <cfquery name="emailformData" datasource="RC">
      SELECT    *
      FROM      Basic_Info
      WHERE      ID = <cfqueryparam value="#ARGUMENTS.form_id#">
    </cfquery>

    <cfoutput query="emailformData">   
      <cfmail 
        from="forms@email.us" 
        to="#usr_email#" 
        subject="Status Update"> 

        <cfif status_update EQ 'Submitted'>

          Form Submitted: The following quote request ID: #emailformData.ID#  has been submitted on

          #emailformData.Submission_Date# for the following party #emailformData.Sold_to_Party#. You will receive automated

          updates via email when your submission changes status. <b>- Admin Team</b>

        <cfelseif status_update EQ 'Assigned'>

          Form Assigned by Admin Request ID: #emailformData.ID# for the following party #emailformData.Sold_to_Party# was

          assigned to Admin ID #emailformData.Admin_ID# on #DateFormat(Now())#, #TimeFormat(Now())#.   

          Below is their direct  contact information for any change requests or status updates. <b>- Admin Team</b>

        <cfelseif status_update EQ 'Returned'>

          Returned by Admin Form ID: #emailformData.ID# for the following party #emailformData.Sold_to_Party# was

          returned by Admin ID #emailformData.Admin_ID# on #DateFormat(Now())#, #TimeFormat(Now())#

          for the following reasons. Admin Notes: #emailformData.Admin_Notes#.

          <b>- Admin Team</b>

        <cfelseif status_update EQ 'Completed'>

          Form Completed Form ID: #emailformData.ID# for the following party #emailformData.Sold_to_Party# has been

          marked as COMPLETED on #DateFormat(Now())#, #TimeFormat(Now())#. The following Quote Number has been

          assigned to this form #emailformData.Quote_Num#.  The quote will be emailed to you.  If the Admin added any closing notes to the form they will appear below:

          #emailformData.Admin_Notes#

          <b>- RFQ Admin Team</b>

        </cfif>

      </cfmail>
    </cfoutput>

</cffunction>

【问题讨论】:

    标签: coldfusion cfoutput


    【解决方案1】:

    您不需要它,除非您正在执行 cfquery 的循环输出。例如如果您的 emailformData 查询返回多行(显然没有),您可能会这样做:

    <cfmail ...>
        Here's the email data #form.name# asked for:
    
        <cfoutput query="emailformData">
            #emailformData.Sold_to_Party#
        </cfoutput>
    
        Sent on #dateFormat(now())#
    </cfmail>
    

    请参阅 Adob​​e 网站上的 Sample uses of the cfmail tag,以及 Ray Camden 网站上的 this discussion

    【讨论】:

    • 那么我可以把整个东西包装在 中吗?请参阅我对上面问题的编辑。谢谢您的帮助。 +1
    • 你甚至不需要&lt;cfoutput&gt;...&lt;cfmail&gt; 标签的作用类似于&lt;cfoutput&gt;。如果您想根据查询结果发送多封电子邮件,您可以使用&lt;cfmail query="emailformData"&gt;,但由于您的查询似乎只返回 1 行,您也不需要这样做。
    • 你永远不需要它。这个答案中的 cfoutput 标签可以很容易地成为一个 cfloop 标签。在邮件块内,他们做同样的事情。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-11
    • 2015-04-02
    • 2018-09-02
    • 2018-03-19
    • 2015-11-28
    • 2019-05-17
    • 2020-03-06
    相关资源
    最近更新 更多