0

我希望生成一个动态链接并将其放置在用户的露天仪表板中。该链接会说“收件箱”,它必须采用以下格式http://www.mysite.com/preauth.jsp?email=hello@domain.com。链接的唯一动态部分将是 hello@domain.com,它将是当前登录用户的电子邮件地址。如何实现这一点任何帮助将不胜感激。

使用 alresco 社区 4.2a

4

1 回答 1

2

如果您想使用 dashlet 实现此功能,请查看 will 在 github 上的示例 dashlet:https ://github.com/share-extras/sdk-sample-dashlet

您需要做的就是修改 dashlet 的 ftl:

...normal html
<a href ="http://www.mysite.com/preauth.jsp?email=${user.email}">link</a>

另一种方法是将您的链接添加到 Alfresco Share 的标题并添加以下项目 ( http://wiki.alfresco.com/wiki/Share_Header ):

<item type="external-link" id="pre-auth">http://www.mysite.com/preauth.jsp?email={useremail}</item>

{useremail} 在这里是一个未知的令牌,因此您必须自定义 site-webscripts\org\alfresco\components\header\header.get.html.ftl 并在那里添加您的令牌(抱歉只有 4.1 代码,因为我没有有一个 4.2 就地):

    <script type="text/javascript">//<![CDATA[
   var ${jsid} = new Alfresco.component.Header("${jsid}").setOptions(
   {
      siteId: "${page.url.templateArgs.site!""}",
      siteTitle: "${siteTitle?js_string}",
      minSearchTermLength: ${args.minSearchTermLength!config.scoped["Search"]["search"].getChildValue("min-search-term-length")},
      tokens:
      {
         site: "${page.url.templateArgs.site!""}",
         pageid: "${page.url.templateArgs.pageid!""}",
         userid: "${user.name?js_string}",
         useremail: "${user.email?js_string}",
      }
   }).setMessages(${messages});
   Alfresco.util.createTwister.collapsed = "${collapsedTwisters?js_string}";
//]]></script>
于 2013-07-23T14:45:50.740 回答