基于 Salesforce 中的 IF 条件的电子邮件模板中的粗体文本

Bold Text in Email Template based on IF condition in Salesforce

我需要在 Salesforce Visualforce 电子邮件模板中根据 IF 语句将文本加粗。有人可以帮帮我吗?在下面的顶点 html 标签中,当条件为真时,我需要加粗 Required 文本。

<apex:outputText value="{!IF(AND(NOT(ISBLANK(relatedTo.Quote__r.Margin__c)),NOT(ISBLANK(relatedTo.Quote__r.Threshold__c)),relatedTo.Quote__r.Margin__c<relatedTo.Quote__r.Threshold__c), 
                            "Required", "Not Required" )}" />

这看起来有点糟糕(标签重复),但应该非常可靠。您可以将条件直接放在 rendered 属性中,但如果您需要更改它,您可能会忘记并只在一个地方进行,那将是一个“有趣”的错误。

<apex:variable var="condition" value="{!AND(NOT(ISBLANK(relatedTo.Quote__r.Margin__c)),NOT(ISBLANK(relatedTo.Quote__r.Threshold__c)),relatedTo.Quote__r.Margin__c<relatedTo.Quote__r.Threshold__c)}" />

<apex:outputPanel layout="inline" rendered="{!condition}">
    <b>Required</b>
</apex:outputPanel>
<apex:outputPanel layout="inline" rendered="{!!condition}">
    Not Required<!-- you could also put it in `value`-->
</apex:outputPanel>

如果您不想重复代码,您可以尝试类似

的方法
<apex:variable var="condition" value="{!AND(NOT(ISBLANK(relatedTo.Quote__r.Margin__c)),NOT(ISBLANK(relatedTo.Quote__r.Threshold__c)),relatedTo.Quote__r.Margin__c<relatedTo.Quote__r.Threshold__c)}" />

<apex:outputText value="{!IF(condition, 'Required', 'Not Required')}" style="{!IF(condition, 'font-weight:bold, '')}" />

您应该测试第二个版本,如果电子邮件客户端决定忽略样式怎么办。尽管这样的内联样式应该没问题,但 <style> 标签中的“只是” CSS 往往不可靠...