2015-06-06 11 views
10

Gửi apis giao dịch thông qua SendGrid. mẫu của tôi (được chuyển qua từ Mailchimp) có điều kiện (ví dụCông cụ mẫu SendGrid có điều kiện không?

*|IF:SHOWTHISSECTION|*

trong cú pháp Mailchimp). Điều này bao gồm hoặc loại trừ các phần của mẫu dựa trên một biến.

Tôi không thể tìm thấy tương tự trong SendGrid, đơn giản là không có khả năng này? Tôi muốn ngăn chặn các phần nhất định tùy thuộc vào sự hiện diện/vắng mặt của một biến thay thế.

Trả lời

2

SendGrid templating không hỗ trợ điều này, nhưng bạn có thể sử dụng API templating như sendwithus để thực hiện điều này trên đầu trang của tài khoản SendGrid của bạn. Tôi tin rằng sendwithus hỗ trợ jinja conditionals, vì vậy bạn có thể làm như sau:

{% if variable %} 
    <h1>{{ variable }}</h1> 
{% endif %} 
+0

Cảm ơn bạn. SendWithUs sẽ làm việc mặc dù đó là một giải pháp đắt tiền và giới thiệu thêm một động cơ templating để trộn của tôi .. Hy vọng rằng sendgrid sẽ nhận được xung quanh để thêm này .... –

2

SendGrid không có điều kiện đúng, nhưng nó có Section Tags. Với những thứ đó, bạn có thể xác định một khối văn bản ở cấp độ tin nhắn (ngược lại với cấp độ người nhận riêng biệt của Substitution Tag), và sau đó gọi phần thích hợp cho người nhận nếu cần.

+1

Cảm ơn. Tôi sẽ kiểm tra mà ra! –

5

Đó là một hack khủng khiếp, nhưng bằng cách giới thiệu các biến mới và sử dụng CSS, bạn có thể ẩn các phần liên quan của thư bằng cách sử dụng display. Vì vậy, nơi trước đây trong giống phi phi/MailChimp tôi muốn có một cái gì đó như:

*|IF:FAKEVAR|* 
    <p>Show some text here</p> 
    *|END:IF|* 

Thay vào đó, giới thiệu một IF_FAKEVAR biến mới, có giá trị là một trong hai "none" hoặc "thừa kế" tùy thuộc vào việc FAKEVAR có giá trị, sau đó làm này:

<p style="display: *|IF_FAKEVAR|*">Show some text here</p> 

trong khi đó là một hack, đối với các mẫu email rất phức tạp, nó tránh gửi 70k byte đến máy chủ cho mỗi email duy nhất, mà khi bạn có hàng ngàn hoặc hàng chục ngàn mail, là cấm.

+1

btw có vẻ như bạn phải làm style = "display: * | IF_FAKEVAR | *! Quan trọng;" nếu bạn thực sự muốn gmail để làm điều đó ... thở dài. –

+0

Đây thực sự là tùy chọn duy nhất trừ khi các phần của bạn không chứa nhiều HTML, nếu không tất cả các HTML của bạn sẽ kết thúc trong ứng dụng của bạn thay vì gửi mẫu lưới. –

0

Tôi biết điều này là cũ, nhưng tôi đã có cùng một vấn đề và tôi tìm thấy một giải pháp tương thích với một số người quản lý email mà có thể nó hữu ích cho ai đó.

Bạn có thể sử dụng thẻ thay thế bằng giá trị ký hiệu nhận xét html trong trường hợp bạn muốn ẩn một phần.

{%OPEN_COMMENT} 
<h1>Whatever section you want to hide</h1> 
{%CLOSE_COMMENT} 

Thay thế thẻ bằng "" tương ứng nếu bạn muốn ẩn phần. Thay thế chúng bằng các chuỗi rỗng trong trường hợp khác.

Các vấn đề liên quan