Я новичок в отображении шаблонов в поиске SharePoint Online.У меня есть одна строка текстового поля под названием «ResearchAuthor», и оно содержит имена пользователей с разделенной точкой с запятой.Он сопоставлен со свойством RefinableString106 в схеме поиска.В результатах поиска это свойство добавляется на панель уточнения.Он отображает значение авторов, связанных с элементом поиска, с несколькими значениями.
Теперь я хочу разбить значения на строку за строкой.Я использовал приведенный ниже код для разделения имени пользователя точкой с запятой, разделенной и отображаемой в виде строки за строкой.
var authorNameFinal = refinementName;
var authorNameRefiner = "";
var authorName = "";
var isNewLine = false;
if (refinementName.indexOf(";") !== -1) {
authorName = refinementName.split(";"); //refinementName.replace(/\n/g, ";").split(";");
for (var i in authorName) {
if (authorName[i] !== "") {
authorNameRefiner += authorName[i] + "\n";
}
}
// remove last new line character
if(authorNameRefiner.lastIndexOf("\n") > 0) {
isNewLine = true;
authorNameFinal = authorNameRefiner.substring(0, authorNameRefiner.lastIndexOf("\n"));
} else {
authorNameFinal = authorNameRefiner;
}
}
И HTML-код ниже для отображения элементов.
<code><a id='FilterLink' class='_#= $htmlEncode(aClass) =#_' onclick="_#= aOnClick =#_" href='javascript:{}' title='_#= $htmlEncode(String.format(Srch.U.loadResource("rf_RefineBy"), authorNameFinal)) =#_'>
<div id='RefinementName' class='_#= nameClass =#_'> <pre>_#= $htmlEncode(authorNameFinal) =#_
Отсюда, если я щелкаю имя пользователя с разделенным значением, оно не фильтрует конкретного пользователя, а отбирает всех пользователей.Например, пользователи отображаются, как показано ниже на панели уточнения.(Пользователь значения muti - Victor, Test1, SPTest2)
Philip
John
Test
Victor
Test1
SPTest2
Если я щелкаю пользователя Victor, он не фильтрует элементы, загруженные Victor, а фильтрует Victor, Test1 и SPTest2.
Как я могу передать одно имя пользователя в событии клика?Пожалуйста, поделитесь своим решением.Заранее спасибо.