Bagaimana cara merender tipe data html di email template magento2?

13

Saya memiliki templat email di Magento 2: email-template.html

{{template config_path="design/email/header_template"}}

{{trans "%body" body=$data.body}}

{{template config_path="design/email/footer_template"}} 

Namun dalam variabel $data.bodyadalah kode html bukan teks:

$data.body = `
<table width="100%"> 
  <tr> 
     <td>Name: </td> <td>Join Xanka </td>
  </tr> 
  <tr> <td>Email: </td> <td>[email protected]</td> </tr>
  {{depend Test Send}} 
  <tr> <td>Subject: </td> <td>Test Send</td> </tr>
  {{/depend}} 
  <tr> <td>Message: </td> <td>we try send email use to test.</td> </tr>
</table>

Jadi bagaimana cara merender kode html saat mengirim kirim email. Banyak terimakasih!

Hal ini terjadi ketika kode alasan print_r($this->_message->getBody());di sendMessage()fungsi:

masukkan deskripsi gambar di sini

xanka
sumber

Jawaban:

19

Saya berubah {{trans "%body" body=$data.body}}menjadi {{trans "%body" body=$data.body|raw}}. itu membuat kesuksesan.

xanka
sumber
8

Gunakan |rawdengan variabel param Anda.

contoh: {{var data|raw}}

di mana data adalah variabel param yang diteruskan ke templat dan berisi nilai yang berupa kode HTML. data=<html code>

Bhargav Joshi
sumber
terima kasih ini sangat berguna
Pradip Garchar
5

Seiring dengan {{trans "%body" body=$data.body}}ke {{trans "%body" body=$data.body|raw}}.

Jangan lupa untuk mengubah type="text"ke type="html"dalam email_templates.xml, jika tidak, Anda akan mendapatkan HTML biasa di email Anda.

Imran Zahoor
sumber
Terima kasih banyak atas tip type = "html". Saya baru saja membuat kesalahan yang dingin, Reruntuhan sekitar setengah jam!
DRAJI