2017-02-22 6 views
0

검색 양식 아래에 사용자 지정 "자산 관리 검색 가로장"을 표시해야합니다. '/ libs/dam/gui/content/facets'에 대한 오버레이를 만들었으며 자산 검색의 패싯에 표시된 필드를 편집 할 수있었습니다. 이제AEM에서 새 검색 양식을 만드는 방법은 무엇입니까?

저자는 내 프로젝트 폴더 내에서 검색한다 (/ 내용/댐 /의 myapps)는 패싯 항목은 다른 폴더에서 (/ 컨텐츠/댐) 내가 만들 수있는 방법

검색에 비해 다른 목록 할 필요가 새로운 "Assets Admin Search Rail"이 기존의 것과 비슷하며 각 댐 폴더에서 열 때 올바른 양식을로드하도록하려면?

+0

AEM의 버전은 무엇입니까? – VAr

+0

안녕하세요 @VAr, 나는 AEM 6.1을 사용하고 있습니다. –

+0

현재 검색 동작 구성 요소가 묶이지 않은 상태에서 전체 검색 폼 구성 요소 **'(/ libs/granite/ui/components/foundation/contsys)'** 기능을 사용자 정의해야하는 것처럼 보입니다. 댐 경로 선택 필터 (패싯 항목)를 사용하여 나머지 필터 (패싯 항목)를로드하고 모든 필터 (패싯 항목)는 개별적으로 자산 표시를 트리거합니다. – VAr

답변

0

jquery를 사용하여 요소를 찾아 수동으로 제거하여 clientlib를 직접 작성하여이 문제를 해결할 수있었습니다. 다음은 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.$);