如何以编程方式禁用/启用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);
非常感谢解决方案。我已经实现了它,并能够调用js函数。但是现在需要的是,如果jcr:content节点中的某些属性为true,则应该禁用删除按钮。那么,是否可以从js函数中调用jcr:content节点的任何属性。 –
在没有看到代码的情况下确定如何去做会有点困难,但是在这里。尝试类似 var selectedPage = this.getSelectedPages()[0]; var path = selectedPage.id; var primaryType = CQ.HTTP.eval(CQ.HTTP.get(path +'/_jcr_content.json'))['jcr:primaryType']; –