【问题标题】:AEM social Communities Handlebars contextAEM 社交社区车把上下文
【发布时间】:2017-03-29 00:31:10
【问题描述】:

我正在尝试从 AEM Social Communities 的车把框架中获取名为 userAdmin 的上下文。 userAdmin 上下文检查登录用户是成员还是版主。

我们已经在 /libs/social/console/components/hbs/sitenavbar/sitenavbar.hbs 中的第 54 行有此代码。在下面的 userAdmin 上下文中,仅当登录in user 是版主/社区管理员

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

问题

我无法在第 36 行的 /libs/social/messaging/components/hbs/messagebox/buttons.hbs 中获取相同的 userAdmin 上下文,我想在其中获取新消息按钮仅当登录用户是版主/社区管理员时

{{#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}}

等选项

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

【问题讨论】:

    标签: handlebars.js aem


    【解决方案1】:

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

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

    【讨论】:

    • 非常感谢@d33t 的指导,不胜感激!
    • @BharathValse 如果适合您的需求并回答您的问题,请投票并接受答案。谢谢
    猜你喜欢
    • 2011-03-07
    • 2014-06-12
    • 2012-04-19
    • 2018-01-13
    • 1970-01-01
    • 1970-01-01
    • 2010-12-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多