The Ultimate Guide to Passing Query Parameters in the Search Blueprint

 


Introduction:

In this documentation, we will explain how we are fetching the query parameter from the request to add the value to the custom parameter of the search context, which is accessible in the condition values of our sample search blueprint.

Below are the steps we have taken to achieve this:

  • We have created a sample blueprint. In this blueprint, we have created a parameter in the parameter configuration, and the value of this parameter is compared to the query’s condition.


Below is the condition that we are comparing for the custom parameter in our sample blueprint.





  • To create this  parameter and pass its value to the blueprint, we have overridden PortletSharedSearchContributor by creating my custom module CustomBlueprintParameterContributorPortletSharedSearchContributor
  • We have added a condition to pass the custom.orderBy parameter from this module in the searchContext object on the basis of the query parameter value.

 The added code snippet:

ThemeDisplay themeDisplay =
portletSharedSearchSettings.getThemeDisplay();

if(themeDisplay.getRequest().getParameter(“orderBy”) != null) {
if (themeDisplay.getRequest().getParameter(“orderBy”).equals(“newest”)) {
searchRequestBuilder.withSearchContext(
searchContext -> {
searchContext.setAttribute(
“custom.orderBy”, “newest”);
}
);
}
if (themeDisplay.getRequest().getParameter(“orderBy”).equals(“oldest”)) {
searchRequestBuilder.withSearchContext(
searchContext -> {
searchContext.setAttribute(
“custom.orderBy”, “oldest”);
}
);
}
}

  • Integrate the custom portlet into the search page where you want to apply the search changes

  • Select the blueprint in which we are passing the custom parameter


When we are passing the query parameter orderBy as newest it is compared in the blueprint and gives the desired result. OrElse passing the query parameter orderBy as oldest gives the desired effect as given in the sample blueprint.

Conclusion

In this blog, we have provided a comprehensive guide on passing query parameters in the search blueprint. We can dynamically adjust the search results based on the query parameter values by leveraging custom parameters and condition values in the blueprint. Overall, this guide empowers developers to effectively pass query parameters into the search blueprint, enabling greater flexibility and control over the search results presented to users.

Originally published by: The Ultimate Guide to Passing Query Parameters in the Search Blueprint

Comments

Popular posts from this blog

How to Hire the Best Java Developers For Your Upcoming Project

How Can DevOps Consultants Help You Create an Impressive Presence of Your Business?

Best Frameworks to Use for AI App Development in 2022