是否可以为特定列表视图使用不同的警报模板?
一个例子......每当有新项目添加到其中时,我的列表都会使用默认的 OOTB“SPAlertTemplate.GenericList”模板发送警报。但是,每当添加出现在“高风险事件”视图中的项目时,我想改为使用自定义电子邮件模板。
我知道如何创建自定义警报模板并将它们与特定列表相关联——只是不知道如何将它们与列表的特定视图相关联。
是否可以为特定列表视图使用不同的警报模板?
一个例子......每当有新项目添加到其中时,我的列表都会使用默认的 OOTB“SPAlertTemplate.GenericList”模板发送警报。但是,每当添加出现在“高风险事件”视图中的项目时,我想改为使用自定义电子邮件模板。
我知道如何创建自定义警报模板并将它们与特定列表相关联——只是不知道如何将它们与列表的特定视图相关联。
根据警报模板文档,您可以在 FilterDefinition 属性中使用 CAML 来控制显示哪些项目。
我不相信您可以直接将其指向视图,但您可以在 FilterDefinition 的视图中使用相同的条件。
因此,如果您的视图由条件 RiskLevel=1 组成,那么您可以使用以下内容:
<FilterDefinition>
<FriendlyName>CustomFilter1</FriendlyName>
<ShortName>CustomFilter1</ShortName>
<Query>
<Eq>
<FieldRef name="RiskLevel"/>
<Value Type='Text'>1</Value>
</Eq>
</Query>
其中一些链接可能会有所帮助:
警报模板格式 - http://msdn.microsoft.com/en-us/library/bb802961(v=office.12).aspx
CAML 查询简介 - http://sharepointmagazine.net/articles/writing-caml-queries-for-retrieving-list-items-from-a-sharepoint-list