如何在AEM中创建新的搜索表单?

如何在AEM中创建新的搜索表单?,aem,Aem,我需要在搜索表单下显示自定义的“资产管理员搜索栏”。我为“/libs/dam/gui/content/facets”创建了一个覆盖,并能够编辑资产搜索facets上显示的字段 现在,当作者在“我的项目”文件夹(/content/dam/myapps)中搜索时,与从其他文件夹(/content/dam)中搜索相比,facet项需要是不同的列表 如何创建与现有类似的新“资产管理搜索栏”,并在从相应的dam文件夹打开时强制AEM加载正确的表单?我可以通过创建clientlib,使用jquery查找元素

我需要在搜索表单下显示自定义的“资产管理员搜索栏”。我为“/libs/dam/gui/content/facets”创建了一个覆盖,并能够编辑资产搜索facets上显示的字段

现在,当作者在“我的项目”文件夹(/content/dam/myapps)中搜索时,与从其他文件夹(/content/dam)中搜索相比,facet项需要是不同的列表


如何创建与现有类似的新“资产管理搜索栏”,并在从相应的dam文件夹打开时强制AEM加载正确的表单?

我可以通过创建clientlib,使用jquery查找元素并手动删除它们来解决这个问题。以下是clientlib:

(function(document, $) {
    $(document).ready(function(){
        var $path = $("[data-type='path']");
        var $filetype =$("[data-type='options']");
        var $filesize = $("[data-type='filesize']");
        if($path.length == 0){
            return;
        }

        //defined in /libs/dam/gui/content/assets/jcr:content/body/content/aside/items/search
        var ASSET_RAIL_SEARCH = "#aem-assets-rail-search";

        var doSearch = function(){
            //$path.remove();
            if (window.location.href.indexOf("content/dam/geometrixx/portraits") > -1) { 
                $filesize.remove();
                $filetype.remove();

            } else {
                // remove custm properties. 
            }
        };

        if($.cookie("endor.innerrail.current") == ASSET_RAIL_SEARCH){
            doSearch();
        }

        $(document).on('click', '.js-endor-innerrail-toggle', function(e) {
            doSearch();
        });
    });
})(document, Granite.$);

哪一版本的AEM?Hi@VAr,我正在使用AEM 6.1书籍,如您需要自定义整个搜索表单组件
(/libs/granite/ui/components/foundation/contsys)
功能,因为当前行为与dam路径选择过滤器(facet项)无关,无法加载其余过滤器(facet项)和所有过滤器(镶嵌面项目)是触发资产显示的单个项目。