AEM 6.2向文件夹设置添加新字段但不保存数据

时间:2016-07-05 14:10:19

标签: cq5 aem aem-6

我尝试将一些字段添加到folder settings

为此,我在我的应用程序中重叠了文件“/ libs / dam / gui / content / assets / foldersharewizard”。添加了新选项卡和2个新复选框。将出现新的选项卡和字段,但它们不会在文件夹节点或jcr中保存它们的值。我尝试修改默认字段,当我更改名称时,我就停止工作了。

这是我在foldersharewizard中添加的代码:

<tab5
    jcr:primaryType="nt:unstructured"
    jcr:title="Tab title"
    sling:resourceType="granite/ui/components/foundation/container">
<items jcr:primaryType="nt:unstructured">
    <editDeny
            jcr:primaryType="nt:unstructured"
            sling:resourceType="granite/ui/components/foundation/form/checkbox"
            id="editDeny"
            name="custom:deniedEdit"
            text="Hide edit"
            value="{Boolean}true"/>
    <delAllow
            jcr:primaryType="nt:unstructured"
            sling:resourceType="granite/ui/components/foundation/form/checkbox"
            id="delAllow"
            name="custom:allowedDel"
            text="Show delete"
            value="{Boolean}true"/>
</items>

由于AEM文档主要是废话,而不是互联网上的很多开发者评论......我没有想法,如果你们中的任何一个人遇到同样的问题或知道我缺少什么,那就太好了

您希望我粘贴其他任何内容......但这只是我添加的所有代码。

谢谢。

3 个答案:

答案 0 :(得分:1)

<operation jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/form/hidden"
name=":operation"
value="custom.dam.share.folder"/>

必须覆盖此节点才能调用自定义PostOperation

@Component(metatype = false)
@Service
@Properties({@Property(name = "sling.post.operation", value = {"custom.dam.share.folder"}), @Property(name = "sling.servlet.methods", value = {"POST"})})
public class CustomFolderShareHandler implements PostOperation {

    @Reference(target = "(sling.post.operation=dam.share.folder)")
    PostOperation folderShareHandler;

    @Override
    public void run(SlingHttpServletRequest request, PostResponse response, SlingPostProcessor[] processors) {
        folderShareHandler.run(request, response, processors);
        // DO CUSTOM STUFF
    }
}

答案 1 :(得分:0)

我认为这是因为value是字符串数据类型 - 如果要将值存储为布尔值,请使用typehint字段:

&#13;
&#13;
<editDeny
    jcr:primaryType="nt:unstructured"
    sling:resourceType="granite/ui/components/foundation/form/checkbox"
    id="editDeny"
    name="custom:deniedEdit"
    text="Hide edit"
    value="{Boolean}true"/>
<editDenyType
    jcr:primaryType="nt:unstructured"
    sling:resourceType="granite/ui/components/foundation/form/hidden"
    name="custom:deniedEdit@TypeHint"
    value="Boolean"/>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

确保按以下结构覆盖了正确的节点: /应用/大坝/ GUI /内容/资产/ foldersharewizard / JCR:内容/体/内容/项目/ foldersettings /项目/设置/项/右/项目/ tab5