SPScriptedFacetService – Scoped
Generieren Sie ein Aspekte-Objekt mit mehreren oder nur einer Auswahl für eine erweiterte Suchquelle.
Die API SPScriptedFacetService kann nur in einem Skript für Aspektgenerierung in einer Serviceportal-Suchquelle verwendet werden. Das Skript für Aspektgenerierung ist nur sichtbar, wenn Ist geskriptete Quelle ausgewählt ist.
Für diese Klasse ist kein Konstruktor vorhanden. Verwenden Sie stattdessen die Methoden „createFacet() “ oder „createMultiChoiceFacet()“, um ein Aspekte-Objekt zu generieren.
Scoped SPScriptedFacetService – createFacet(String label, String id)
Erzeugt ein Aspekte-Objekt mit einfacher Auswahl.
Nachdem Sie das Aspekte-Objekt erstellt haben, fügen Sie dem Aspekt Aspektelemente oder zugeordnete Abfragen hinzu, indem Sie die addFacetItem()- Methode der Klasse SPScriptedFacet verwenden.
| Name | Typ | Beschreibung |
|---|---|---|
| label | Zeichenfolge | Bezeichnung für den Aspekt. |
| id | Zeichenfolge | ID für den Aspekt. |
| Typ | Beschreibung |
|---|---|
| Objekt | Aspekte-Objekt mit einfacher Auswahl. Gibt einen Fehler zurück, wenn:
|
Kann nur in einem Skript für Aspektgenerierung in einer erweiterten Service Portal-Suchquelle verwendet werden.
var stateFacet = facetService.createFacet("State", "state");
Scoped SPScriptedFacetService – createMultiChoiceFacet(String label, String id)
Erstellt ein Aspekte-Objekt mit Mehrfachauswahl.
Nachdem Sie das Aspekte-Objekt erstellt haben, fügen Sie dem Aspekt Aspektelemente oder zugeordnete Abfragen hinzu, indem Sie die addFacetItem()- Methode der Klasse SPScriptedFacet verwenden.
| Name | Typ | Beschreibung |
|---|---|---|
| label | Zeichenfolge | Bezeichnung für den Aspekt. |
| id | Zeichenfolge | ID für den Aspekt. |
| Typ | Beschreibung |
|---|---|
| Objekt | Aspekte-Objekt mit Mehrfachauswahl. Gibt einen Fehler zurück, wenn:
|
function createMultiChoiceFacetFromKB(label, variable, values, orderBy){
if(!values || values.length == 0)
return;
var kbFacet = facetService.createMultiChoiceFacet(label, variable);
var kbMap = {};
for(var i in values) {
var key = values[i].label;
var value = values[i].id;
var parent = new KBParentData().getParentCategory(value, key);
key = parent.join(' > ');
kbMap[key] = value;
}
var labels = Object.keys(kbMap).sort();
for (i = 0; i < labels.length; i++) {
var currentLabel = labels[i];
kbFacet.addFacetItem(currentLabel, kbMap[currentLabel]);
//adds facet search options for each kbMap entry
}
}