2013 "Did you mean web part issue" not working with Content Search Web Part

2013 search web part encountered an issue  with “Did you mean” web part. Actually the main reason when search center page having more the one webpart i.e. content search webpart and it will fire when user fire the query by clicking to the search box. But when some time due to the mistake user enter wrong key word and end up with wrong spelling  "did you mean web part" comes into play and displays the correct word with hyper link. Here comes the issue, when user clicks the hyperlink the search result web part updated as expected but the content search web part not update update as it should be, as per end user experience.

The connected webparts with search box mentioned in my previous post. To overcome this issue, with the help of my friend we come up with below mentioned solution.

Recent while working, we faced one interesting issue during the custom development one of our customer raised this issue that “did you mean” not updating others web parts (if more than one content search web part page) except search result we part.

To connect the multiple web part with search box, we would required to update the template as expected. Let me first tell give you the overview about the search center, we have configured for that client.

We have three column panel search layout same like a Google has, so at the top search box & three column first column refiner second column search box and the third column, we have used the content query web part, this web part takes an input from search box & fire display the results.
As search center implemented the minimal download strategy having a delta updates placeholder in master page that improve the performance & not overload the whole page. Because of this the content search web part not updating.

Thanks to Sangram, to give this solution, the proposed solution that we provided to the customer by updating the “Control_SearchResults.html” and remove that link and apply our own code in place of did you mean template.

Remove Line number: 300 and 301 (Search for "didyoumean" in Control_SearchResults.html template)

var dymTerm = ctx.ListData.SpellingSuggestion;
                        var dymHtml = "<a id='DidYouMean' class='ms-bold ms-italic' href='#' onclick='$getClientControl(this).changeQueryTerm(\"" + $scriptEncode(dymTerm) + "\");return Srch.U.cancelEvent(event);'>" + $htmlEncode(dymTerm) + "</a>";



Replace with below line

var dymHtml = "<a id='DidYouMean' class='ms-bold ms-italic' href='?k=" + $htmlEncode(dymTerm) + "'>" + $htmlEncode(dymTerm) + "</a>";


More Links



Comments

Popular posts from this blog

SharePoint RPC Protocols Examples Using OWSSVR.DLL

Types of Features in SharePoint 2013

Send Email using SharePoint Rest API