我正在修改分配任务项时的警报模板。

这一部分在这里

<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”。

许可以下: CC-BY-SA归因
scroll top