2017-02-22 3 views
0

Ich habe eine Anforderung, eine benutzerdefinierte "Assets Admin Search Rail" unter Suchformulare anzuzeigen. Ich habe eine Überlagerung zu '/ libs/dam/gui/content/facetas' erstellt und bin in der Lage, die Felder zu bearbeiten, die auf Facetten der Suche nach Assets angezeigt werden.Wie erstelle ich ein neues Suchformular in AEM?

Jetzt, als Autor in meinem Projektordner sucht (/ content/dam/myapps), muss der Facette Artikel andere Liste sein im Vergleich aus anderen Ordnern zu suchen (/ content/dam)

Wie kann ich eine neue "Assets Admin Search Rail" ähnlich der bestehenden und erzwingen AEM, um das richtige Formular zu laden, wenn geöffnet von jeweiligen dam Ordner?

+0

Welche Version von AEM? – VAr

+0

Hi @VAr, ich benutze AEM 6.1 –

+0

Sieht so aus, als müssten Sie die gesamte Suchformular-Komponente anpassen ** '(/ libs/granite/ui/components/foundation/contsys)' ** Funktionalität wie das aktuelle Verhalten ist nicht gebunden mit dem Auswahlfilter für den Staudammpfad (Facettenelement), um die verbleibenden Filter (Facettenelemente) zu laden, und alle Filter (Facettenelemente) sind individuell, um die Assets-Anzeige auszulösen. – VAr

Antwort

0

Ich konnte das selbst beheben, indem ich eine clientlib erstellte und jquery verwendete, um die Elemente zu suchen und manuell zu entfernen. Hier ist die 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.$); 
Verwandte Themen