2017-03-29 27 views
1

我试图从AEM社区社区的handlebars框架中获取名为userAdmin的上下文。 userAdmin上下文检查登录用户是成员还是主持人。AEM社会社区把手上下文

的管理链接才出现登录的用户是一个我们已经有/库/社会/控制台/组件/行号54 HBS/sitenavbar/sitenavbar.hbs随着下面userAdmin范围内验证码主持人/社区联系

  {{#if userAdmin}} 
      <li><a href="{{adminUrl}}">{{i18n "Administration"}}</a></li> 
     {{/if}} 

问题

我无法撷取/库/社会/消息/组件/ HBS /消息框/按钮在同一userAdmin背景行号36 .hbs,我想只有在登录的用户的新邮件按钮是一个主持人/社区联系

 {{#if userAdmin}} //Here the context is not available within the buttons.hbs 
      <input type='submit' class='actionbuttons' id='newMessageButton' name='{{properties.replyURL}}' value='{{i18n "+ New Message"}}' /> 
     {{/if}} 

能否请你帮我想出一个办法让sitenavbar提供上下文到任何其他SCF组件,如消息箱或论坛。我也尝试过使用诸如{{../userAdmin}}和{{@root userAdmin}}的选项

任何建议或帮助都会很棒。

回答

3

此数据(或获取者)通过此资源类型的SocialComponent公开。只有少数对象是全局隐式可用的。因此,您需要定义您自己的社交组件并实现(或者扩展现有组件,如果某个捆绑软件导出它的话)这样的吸气组件。您可以参考github中的示例scf项目(例如here),也可以参阅adobe documentation

通过附加.social.json(例如/content/community-components/en/forum/jcr:content/content/forum.social.json),您可以找到当前路径上下文中可用的所有对象。将公开可以在模板内使用的所有变量(上下文)。

+0

非常感谢@ d33t的指导,非常感谢! –

+0

@BharathValse请投票并接受答案,如果它符合您的需求并回答您的问题。谢谢 – d33t