我有这个视觉力模板在下面的字段上创建重复。但是,我不希望它在电子邮件正文中包含BMCServiceDesk__actionId__c ='Email Sent',而是包括所有其他操作。我需要开一个班来做这个吗?
visualforce模板包括以下内容:
<apex:repeat var="ih" value="{!relatedTo.BMCServiceDesk__Incident_Histories__r}">
<tr>
<td><b>{!ih.BMCServiceDesk__actionId__c} </b></td>
<td><b>{!ih.BMCServiceDesk__date__c} </b></td>
<td><b>{!ih.BMCServiceDesk__note__c} </b></td>
<td><b>{!ih.BMCServiceDesk__userId__c} </b></td>
</tr>
</apex:repeat>
所以我的电子邮件看起来像一个表格列表:
任何帮助删除此内容都将非常感激。
答案 0 :(得分:1)
您最好的选择是使用VF组件并将其嵌入该VF电子邮件模板中。那是因为组件可以有一个控制器(电子邮件模板不能)。
它允许您为该列表编写自己的查询,过滤&amp;按照您想要的顺序对项目进行排序......
但是如果您只有少量项目(少于1000个),那么您可以使用“已渲染”标签有条件地显示它们。这有点像黑客,但应该工作正常。
尝试这样的事情:
<apex:repeat var="ih" value="{!relatedTo.BMCServiceDesk__Incident_Histories__r}">
<apex:outputPanel layout="none" rendered="{!ih.BMCServiceDesk__actionId__c != 'Email Sent'}">
<tr>
<th>{!ih.BMCServiceDesk__actionId__c}</th>
<th>{!ih.BMCServiceDesk__date__c}</th>
<th>{!ih.BMCServiceDesk__note__c}</th>
<th>{!ih.BMCServiceDesk__userId__c}</th>
</tr>
</apex:outputPanel>
</apex:repeat>