首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我们需要为所有图像组件继承parbase组件?

为什么我们需要为所有图像组件继承parbase组件?
EN

Stack Overflow用户
提问于 2016-06-01 10:22:30
回答 2查看 871关注 0票数 0

根据Adobe的AEM开发文档,对于所有图像呈现组件,我们都应该继承parbase组件。能否请大家分享一下这一必要性背后的理由?还有谁能指出其他替代方案(如果有的话)?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-07 07:00:18

请在Adobe论坛上上厕所:- http://help-forums.adobe.com/content/adobeforums/en/experience-manager-forum/adobe-experience-manager.topic.html/forum

Parbase只是一个组件,您可以从它进行扩展以获得一些OOTB功能。

如果我可以用技术语言说,Parbase是一个关键组件,因为它允许组件从其他组件继承属性,类似于面向对象语言(如Java )中的子类。

例如,当您在component中打开/libs/foundation/components/text节点时,您会看到它有一个名为sling:resourceSuperType的属性,它引用parbase组件。这里的parbase定义了树脚本来呈现图像、标题等,这样来自parbase的所有子类都可以使用这个脚本。

在创建自己的组件时,不需要添加“parbase”作为超级类型,除非您的组件需要通过parsys中的拖放来启用。

AFAIK,parbase组件从来不被显式使用,但是只有在Parsys中添加组件时才能简化组件的呈现。

“parbase允许组件从其他组件继承属性”

如果您在"/libs/foundation/ components“下检查,大多数可授权和可拖动的组件都将'parbase‘设置为’吊索:resourceSuperType‘,以便在添加到段落系统(Parsys组件)时,它们可以继承图像和文本呈现属性。

文档链接:- components/designmode.html#parbase

我希望这能帮到你。

感谢并致以问候

考图克·萨尼

票数 0
EN

Stack Overflow用户

发布于 2016-06-01 14:24:23

parbase有一个img.GET.java文件,它将处理所有具有“img”选择器的请求。如果您调用“component.img.png”,图像将被处理。如果不从parbase继承,则有两个选项:为组件实现img.GET.java或将映像的资源类型保存在组件中。通常,当我有一个将图像数据存储在子节点的组件时,我通常会这样做。

如果我想将图像保存在名为image的子节点中,这就是我在dialog.xml中添加的内容:

代码语言:javascript
复制
        <image
            jcr:primaryType="cq:Widget"
            cropParameter="./image/imageCrop"
            ddGroups="[media]"
            fileNameParameter="./image/fileName"
            fileReferenceParameter="./image/fileReference"
            mapParameter="./image/imageMap"
            name="./image/file"
            requestSuffix="/image.img.png"
            rotateParameter="./image/imageRotate"
            title="Image"
            xtype="html5smartimage">
            <items jcr:primaryType="cq:WidgetCollection">
                <restype
                    jcr:primaryType="cq:Widget"
                    ignoreData="{Boolean}true"
                    name="./image/sling:resourceType"
                    value="/libs/foundation/components/image"
                    xtype="hidden"/>
            </items>
        </image>

例如,本文讨论了这种方法:AEM Page Image in Page Properties Doesn't Apply a sling:resourceType

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

https://stackoverflow.com/questions/37565927

复制
相关文章

相似问题

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