首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sling:resourceSuperType是如何影响sling分辨率的?

sling:resourceSuperType是如何影响sling分辨率的?
EN

Stack Overflow用户
提问于 2017-08-18 19:43:59
回答 1查看 3.9K关注 0票数 4

Hi正在介绍如何使用sling解决方案。

我遇到了Adobe aem-developer指南中提到的这个场景

https://docs.adobe.com/docs/en/aem/6-2/develop/the-basics.html

这就是前面提到的场景-/a(没有任何资源超类型或资源类型)

B(吊索:resourceSuperType= a)

C(套索:resourceSuperType= b)

X(吊索:资源类型= c)

Y(套索:resourceType= c,套索:resourceSuperType= a)

/x的类型层次结构是c,b,a,而/y的层次结构是c,a,因为/y具有sling:resourceSuperType属性,而/x没有,因此它的超类型取自它的资源类型。

现在我知道/x是如何解析的了。但我不确定/y。首先它解析为/c。它本身有一个sling:resourceSuperType as b。是否也应该将sling解析为/b。超类型是如何被覆盖的,资源是如何解析为a而不是b的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-18 20:38:57

正如Apache Sling documentation中所解释的,如果为特定资源定义了sling:resourceSuperType,则将使用它。如果它不存在,框架将使用由sling:resourceType指向的资源定义的sling:resourceSuperType

也就是说,在/y的情况下,/b不会被视为超级类型。/y本身定义的sling:resourceSuperType直接指向/a。它将有效地隐藏在/c处定义的sling:resourceSuperType属性(并指向/b),否则将被考虑在内。

这个例子在你链接的documentation page上有很好的描述。

根据我的经验,如果资源类型层次结构由一组定义组件的节点定义,并作为/apps/libs的后代存在于存储库中(当继承层次结构中包含OOTB组件时),则大多数自定义的AEM组件更易于维护。然后,/content子树中存在的组件的特定实例(包括负责呈现整个页面的实例)可以明确地定义确定其类型(是否继承)的sling:resourceType。就我个人而言,我不喜欢在属于/content子树的资源级别定义sling:superResourceType,因为这会使层次结构更难理解。在我的脑海中,我想不出一个用例来证明这种权衡是合理的。也许其他人可以参与进来,如果他们知道一个好的。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45755874

复制
相关文章

相似问题

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