2014-03-31 107 views
0

我正在嘗試構建一個非常簡單的訂購表單,用戶可以從充滿產品的手中進行選擇,併爲每個產品選擇相應的數量。如何通過表單發送簡單的訂購清單?

<form id="order" method="post" action="" enctype="multipart/form-data"> 

    <table id="products"> 
    <xsl:for-each select="/data/products/entry"> 
    <tr> 
     <td> 
      <xsl:value-of select="name"/> 
     </td> 
     <td> 
      <label>Amount 
      <input name="fields[{name}]" type="number" min="0" value="1" /> 
      </label> 
     <input name="send-email[body]" value="fields[{name}]" type="hidden" /> 
    </td> 
    </tr> 
</xsl:for-each> 
    </table> 

    <label>Name 
    <input name="fields[name]" type="text" /> 
    </label> 

    <label>E-mail 
    <input name="fields[e-mail]" type="text" /> 
    </label> 

    <label>Address 
    <input name="fields[address]" type="text" /> 
    </label> 

    <input name="send-email[recipient]" value="tintin" type="hidden" /> 
    <input name="send-email[sender-email]" value="fields[e-mail]" type="hidden" /> 
    <input name="send-email[sender-name]" value="fields[name]" type="hidden" /> 
    <input name="send-email[reply-to-email]" value="fields[e-mail]" type="hidden" /> 
    <input name="send-email[reply-to-name]" value="fields[name]" type="hidden" /> 
    <input name="send-email[subject]" value="An order has been placed" type="hidden" /> 
    <input name="action[order]" type="submit" value="Place order" /> 

</form> 

通過上述表格提交的用戶數據應轉換爲電子郵件併發送。

這適用於大多數情況,但如何列出用戶訂購的產品及其相應金額?

我試圖通過for-each循環內的隱藏表單字段解決此問題。但是,這隻會發送列表中最後一個產品的nameamount

感謝您的幫助!

回答

1

您使用的電子郵件方法確實非常基本 - 我建議您使用諸如電子郵件模板管理器之類的東西,它可以提供更好的整體結果。但理論上,您需要將數據保存爲數組

<input name="fields[{name}][]" type="number" min="0" value="1" />