Multilingual search function

SOLVE
Occasional Contributor

Hi, I am trying to target language-specific search results in the hubspot search function on this site https://www.cogencyglobal.com/en-gb/ at the moment it shows everything on the us site and uk site when using the site search functions.

 

I know when I add the prefix &language=en-gb to the end of a search it works. EG: https://www.cogencyglobal.com/search?term=court+searches&language=en-gb but I'm unsure about how to actually implement this so it automatically adds the prefix if you're using the search function on the UK site.

 

On a side note - I also need a UK version on the search results page - this isn't an option in HubSpot, are there any workarounds?

 

Many thanks

Reply
0 Upvotes
1 Accepted solution

Accepted Solutions
Regular Advisor

Hey Dan, 

 

You can clone the "Site Search Input" module to create your own custom search and add in hidden inputs to specify parameters. So you could add in the limit like this: 

 

<input type="hidden" name="limit" value="5">

 

or the language like this: 

 

<input type="hidden" name="language" value="en-gb">

 

You can add it in below HubSpot's parameters:

 

language parameter.png

 

What I'm struggling a little with is setting the language condition to check for the page language. In theory you should be able to use content.language.languageTag to get the language like this:

 

{% if content.language.languageTag == "en-gb" %}
  <input type="hidden" name="language" value="en-gb">
{% endif %}

But it doesn't seem to be working for me Smiley Frustrated

 

I suppose you could also set it directly in the module similar to the settings HubSpot has for content types. 

 


Stephanie O'Gay Garcia

HubSpot CMS Design & Development

Website | Contact

 

If this helped, please mark it as the solution to your question, thanks!

3 Replies 3
Regular Advisor

Hey Dan, 

 

You can clone the "Site Search Input" module to create your own custom search and add in hidden inputs to specify parameters. So you could add in the limit like this: 

 

<input type="hidden" name="limit" value="5">

 

or the language like this: 

 

<input type="hidden" name="language" value="en-gb">

 

You can add it in below HubSpot's parameters:

 

language parameter.png

 

What I'm struggling a little with is setting the language condition to check for the page language. In theory you should be able to use content.language.languageTag to get the language like this:

 

{% if content.language.languageTag == "en-gb" %}
  <input type="hidden" name="language" value="en-gb">
{% endif %}

But it doesn't seem to be working for me Smiley Frustrated

 

I suppose you could also set it directly in the module similar to the settings HubSpot has for content types. 

 


Stephanie O'Gay Garcia

HubSpot CMS Design & Development

Website | Contact

 

If this helped, please mark it as the solution to your question, thanks!

Occasional Contributor

Perfect solution, thank you!

Reply
0 Upvotes
Highlighted
Regular Advisor

I'm glad that helped! Smiley Happy I also wrote a post that hopefully anyone else who comes across this might find useful: Add parameters to your HubSpot site search input module

 


Stephanie O'Gay Garcia

HubSpot CMS Design & Development

Website | Contact

Reply
0 Upvotes