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>xanka@gmail.com</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

Jawaban:


19

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


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>


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.


Terima kasih banyak atas tip type = "html". Saya baru saja membuat kesalahan yang dingin, Reruntuhan sekitar setengah jam!
DRAJI
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.