警报模板 - CAML 值操作
-
10-12-2019 - |
题
我正在修改分配任务项时的警报模板。
这一部分在这里
<HTML>
<![CDATA[<td class="toolbarbutton"><a href="]]>
</HTML>
<GetVar Name="ItemUrl" URLEncodeAsURL="TRUE" />
<HTML><![CDATA[">$Resources:Alerts_link_view; ]]></HTML>
<GetVar Name="ItemName" HTMLEncode="TRUE" />
<HTML>
<![CDATA[</a></td><td class="toolbarsep">|</td>]]>
</HTML>
在电子邮件中呈现为
<td class="toolbarbutton">
<a href="http://localhost/test/Lists/Tasks/Dispform.aspx?ID=1">View Task One</a>
</td>
<td class="toolbarsep">|</td>
无论如何,CAML 中是否有使 href 变为
../列表/任务/编辑表格.aspx?ID=1
基本上,我想操纵来自的值<GetVar Name="ItemUrl" URLEncodeAsURL="TRUE" />
解决方案
您可以构建自己的 URL,而不是“操纵”“ItemURL”变量(我认为这是不可能的)。基于以上内容,我相信您想要这样的东西:
<HTML>
<![CDATA[<td class="toolbarbutton"><a href="]]>
</HTML>
<GetVar Name="ListUrl" URLEncodeAsURL="TRUE" />
<HTML><![CDATA[/EditForm.aspx?ID=]]></HTML>
<GetVar Name="RawValue#ID" />
<HTML><![CDATA[">]]></HTML>
<GetVar Name="ItemName" HTMLEncode="TRUE" />
<HTML>
<![CDATA[</a></td><td class="toolbarsep">|</td>]]>
</HTML>
为了确保 ID 值通过,您可能还需要从警报模板的 <Properties> 部分中的 <ImmediateNotificationExcludedFields> 和 <DigestNotificationExcludedFields> 元素中删除“ID”。