Путаница в том, когда использовать cfoutput в cfmail

Я не на 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>

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>

См. Примеры использования тега cfmail на сайте Adobe и это обсуждение на сайте Рэя Камдена.

Другие вопросы по тегам