如何以编程方式禁用/启用CQ5中的删除按钮

问题描述:

我想定制CQ5中的删除按钮的功能。基本上,对于我希望在siteAdmin中禁用此删除按钮的一些条件。请提前。感谢您。如何以编程方式禁用/启用CQ5中的删除按钮

完成此操作的一种方法是覆盖位于/ libs/wcm/core/content/siteadmin的siteadmin配置。将其复制到/ apps/wcm/core/content/siteadmin,然后将自定义JavaScript函数添加到删除按钮的条件字段中。

条件= “[CQ.wcm.SiteAdmin.hasAnySelection,CQ.wcm.SiteAdmin.notLocked,CQ.wcm.SiteAdmin.canDeleteReplicatedPage,CustomJSFunc]”

*注意:我发现了错误在CQ在某些情况下,您的siteadmin覆盖层可能无法使用。为了确保它始终使用覆盖/libs/cq/ui/components/widget/html.jsp,请在/apps/cq/ui/components/widget/html.jsp处复制。然后在最后修改CQ.Util.build调用以包含.overlay选择器。

CQ.Util.build( “<%= slingRequest.getContextPath()%> <%= currentNode.getPath()%>.overlay .infinity.json”,NULL,NULL,调试extensionString);

+0

非常感谢解决方案。我已经实现了它,并能够调用js函数。但是现在需要的是,如果jcr:content节点中的某些属性为true,则应该禁用删除按钮。那么,是否可以从js函数中调用jcr:content节点的任何属性。 –

+0

在没有看到代码的情况下确定如何去做会有点困难,但是在这里。尝试类似 var selectedPage = this.getSelectedPages()[0]; var path = selectedPage.id; var primaryType = CQ.HTTP.eval(CQ.HTTP.get(path +'/_jcr_content.json'))['jcr:primaryType']; –