Mandrill模板中的条件内容

时间:2014-08-01 21:32:18

标签: templates if-statement conditional-statements mandrill

我将字典键(键值对)移交给服务,该服务又利用api通过Mandrill发送电子邮件。

现在,如果我的密钥为空,那么我不希望它包含在电子邮件中。就像在下面的场景中一样,我只希望在我的密钥有一些价值的情况下显示链接文本。

< a href =" | UPDATE_PROFILE | "目标=" _blank" >更改订阅首选项< / a>

我怎么能写出一些类似的东西,甚至可能呢?

if *|UPDATE_PROFILE|* IS NOT EMPTY
BEGIN
<a href="*|UPDATE_PROFILE|*" target="_blank">change subscription preferences</a> 
END

2 个答案:

答案 0 :(得分:7)

我在这里找到了答案: http://help.mandrill.com/entries/28427818-Can-I-use-dynamic-or-conditional-merge-tags-

以下是该页面的信息:

条件合并标签支持传统的IF,ELSE和ELSEIF逻辑以及IFNOT负面条件。

仅当条件评估为真时才使用IF条件显示内容。

*|IF:MERGE|*
content to display if a value for MERGE is provided
*|END:IF|*


*|IF:MERGE=x|*
    content to display if the value for MERGE is x
*|END:IF|*

当使用 | IF:MERGE = x | 之类的条件时,并且没有提供MERGE的值,条件将评估为false。

使用IF和ELSE条件在条件为真时显示内容,但在条件评估为false时显示替代内容。

*|IF:MERGE|*
    content to display
*|ELSE:|*
    alternative content
*|END:IF|*

ELSEIF条件

使用ELSEIF显示几种可能的选项之一。仅显示第一个条件后评估为真的内容 - 将跳过其他条件。

*|IF:MERGE=x|*
    <p>content to display if the value for MERGE is x</p>
*|ELSEIF:MERGE=y|*
    <p>content to display if the value for MERGE is not x, but is y</p>
*|ELSEIF:MERGE=z|*
    <p>content to display if the value for MERGE is not x or y, but is z</p>
*|ELSE:|*
    <p>alternate content to display if the value for MERGE is not x, y, or z</p>
*|END:IF|*

嵌套条件

*|IF:MERGE1=x|*
    *|IF:MERGE2=y|*
          <div mc:edit="main"> 
                <p>content to display if both conditions are true</p>
           </div>
    *|END:IF|*
*|END:IF|*

负面条件

*|IF:MERGE!=x|*
    content to display if the value for MERGE is not x
*|ELSE:|*
    content to display if the value for MERGE is x
*|END:IF|*


*|IFNOT:MERGE|*
    content to display if MERGE is not provided
*|ELSE:|*
    content to display if MERGE is provided
*|END:IF|*

在mycase中使用

*|IF:UPDATE_PROFILE|*
                    <p>IMPORTANT NOTE: *|LAYOUTYEAR|*  
                        available for review at: http://www.somesite.org/SomePage.</p>
                *|ELSE:|*
                    <p>
                        <a href="http://www.somesite.org/SomePage" target="_blank">Click here</a>
                        to view the detailed specs.
                    </p>
                *|END:IF|*

答案 1 :(得分:1)

Mandrill支持条件标签

基本IF条件

*|IF:UPDATE_PROFILE|*
    content to display if a value for UPDATE_PROFILE is provided
*|END:IF|*

*|IF:UPDATE_PROFILE=x|*
    content to display if the value for UPDATE_PROFILE is x
*|END:IF|*

基本的IF-ELSE条件

*|IF:UPDATE_PROFILE|*
    content to display
*|ELSE:|*
    alternative content
*|END:IF|*

ELSEIF条件

*|IF:UPDATE_PROFILE=x|*
    <p>content to display if the value for UPDATE_PROFILE is x</p>
*|ELSEIF:UPDATE_PROFILE=y|*
    <p>content to display if the value for UPDATE_PROFILE is not x, but is y</p>
*|ELSEIF:UPDATE_PROFILE=z|*
    <p>content to display if the value for UPDATE_PROFILE is not x or y, but is z</p>
*|ELSE:|*
    <p>alternate content to display</p>
*|END:IF|*

负面情况

*|IF:UPDATE_PROFILE!=x|*
    content to display if the value for UPDATE_PROFILE is not x
*|ELSE:|*
    content to display if the value for UPDATE_PROFILE is x
*|END:IF|*

*|IFNOT:UPDATE_PROFILE|*
    content to display if UPDATE_PROFILE is not provided
*|ELSE:|*
    content to display if UPDATE_PROFILE is provided
*|END:IF|*