有没有办法获得页面的绝对WCMMode?

时间:2015-07-17 11:34:03

标签: cq5 aem wcm

我正在努力解决可以通过获取页​​面的绝对WCMMode来解决的问题。

绝对WCMMode是指独立于组件的WCMMode。 例如,通常如果我们尝试获取组件的WCMMode,则返回" EDIT"仅当组件可在该页面配置时。如果组件在特定页面上不可配置,则它将WCMMode值返回为" PREVIEW"。

> <%=WCMMode.fromRequest(slingRequest)%>

通过检查sidekick的行为可以解决问题。但这种方式有点风险。

> CQ.WCM.isSidekickReady() &&
> CQ.WCM.getContentWindow().CQ.WCM.areEditablesReady()

还有其他方法可以解决这个问题吗? 请分享您的想法。

1 个答案:

答案 0 :(得分:2)

通常在创作环境中,您应该能够通过检查组件是处于编辑模式还是预览模式来逃脱。

<%

WCMMode wcmMode = WCMMode.fromRequest(slingRequest)

if(wcmMode.equals(WCMMode.EDIT) || wcmMode.equals(WCMMode.PREVIEW))
{

    // do your stuff.
}


%>

除此之外,没有其他方法可以确定您正在寻找的绝对WCMMode。如果你能告诉我你的情况以及你在寻找什么,那就太棒了。