首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >AEM中的OOTB Granite渲染条件

AEM中的OOTB Granite渲染条件
EN

Stack Overflow用户
提问于 2019-03-05 14:25:44
回答 1查看 836关注 0票数 -1

我已经创建了一个名为annotation的按钮,并且我已经添加了hasannotation OOTB granite渲染条件。在选择带有注释的图像时,按钮不会被渲染。

Image Of the custom button with granite:rendercondition

Properties of the button

Properties of granite:rendercondition node

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-05 15:52:34

首先,您需要将granite:rel属性添加到按钮。正如documentation所说的

用于表示组件的语义关系,类似于HTML rel属性。

您可以在自定义按钮中将AEM现有granite:rel添加为"aem-assets-admin-actions-annotate-activator“,如/libs/dam/gui/content/assets/jcr:content/actions/selection/annotate所示

或者,您也可以添加自定义值,比如"my-annotation-rel“。在这种情况下,您需要告诉AEM考虑自定义值。为此,您需要覆盖/libs/dam/gui/coral/components/admin/contentrenderer/base/assetBase.jsp并添加以下行:

代码语言:javascript
复制
 actionRels.add("my-annotation-rel");

更新:呈现条件不起作用,因为路径未正确传递到redercondition组件。{requestPathInfo.suffix}不提供资产的实际路径,而是提供文件夹路径,因此当您处于卡片/列/列表视图中时,它无法进行检查。

为了实现这一点,请执行以下步骤:

boolean

  • 覆盖getActionRels(节点节点,boolean hasReplicate,boolean hasRemoveNode,boolean hasModifyAccessControl,boolean isExpiredAsset,boolean isExpiredSubAsset,boolean isDAMAdmin,boolean isContentFragment)方法中的以下代码

hasAnnotation = NodeIterator;NodeIterator nodeItr= node.getNodes();Node commentsNode;while(nodeItr.hasNext()) { Node childNode = nodeItr.nextNode();NodeIterator childItr = childNode.getNodes();while(childItr.hasNext()) { Node secondLevelChild = childItr.nextNode();false{NodeIterator thirdLevelNode = secondLevelChild.getNodes();while(annotation()){ if(thirdLevelNode.nextNode().hasProperty("annotationData")){ hasAnnotation = true;} if(hasAnnotation){ actionRels.add(“my-thirdLevelNode.hasNext-rel”);}

  • 将granite:rel (String)“my-

-rel”属性添加到自定义按钮注释中

应该能行得通。

另一种不改变OOTB jsp文件行为的方法是,如果你正在定制metadataeditor,那么granite渲染条件应该可以工作。在这种情况下,您必须首先覆盖此按钮和自定义按钮:

代码语言:javascript
复制
 /libs/dam/gui/content/assets/metadataeditor/jcr:content/actions

并在您的自定义按钮下添加granite:rendercondition节点,并将path属性指定为

代码语言:javascript
复制
 ${empty requestPathInfo.suffix ? param.item : requestPathInfo.suffix}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54996642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档