Separating search results in multilingual websites

Separating search results in multilingual websites

November 05, 2009 0 Comments

The content you're reading is getting on in years
This post is on the older side and its content may be out of date.
Be sure to visit our blogs homepage for our latest news, updates and information.

If you have a bilingual or multilingual Sitefinity based website that uses standard SearchBox and SearchResults controls with reference to all pages you will see that the SearchResults control will return all ResulItems no matter of the culture you use. So it will be not useful for my English speaking visitors to see dutch result items in the list. You can easily get the current culture and "filter" the ResultItems that will be shown.

 

1. Locate the template of ResultItems control - SearchResult.ascx under ~/Sitefinity/ControlTemplates/Search.

2. I have to create a code behind of this template and subscribe for the ItemDataBound event of the repeater that lists all items. Then I am getting the current culture and hiding all items( cms pages) with culture different than the current.

protected void Page_Load(object sender, EventArgs e)  
    {  
        this.rptResults.ItemCreated += new RepeaterItemEventHandler(rptResults_ItemCreated);  
    }  
  
    void rptResults_ItemCreated(object sender, RepeaterItemEventArgs e)  
    {  
        if (e.Item.ItemType == ListItemType.Item   
            || e.Item.ItemType == ListItemType.AlternatingItem)  
        {  
            var item = e.Item.DataItem as ResultItem;  
            if (item != null)  
            {  
                CultureInfo itemCulture = null;  
                string url = UrlHelper.UnresolveLanguageUrl(item.Url, out itemCulture);  
                if (itemCulture != null && itemCulture != CultureInfo.CurrentUICulture)  
                {  
                    e.Item.Visible = false;  
                }  
            }  
        }  
    }  
progress-logo

The Progress Team

View all posts from The Progress Team on the Progress blog. Connect with us about all things application development and deployment, data integration and digital business.

Comments
Comments are disabled in preview mode.
Topics
 
 
Latest Stories in
Your Inbox
Subscribe
More From Progress
New_Mobile_Dev_Ebook_Progress_Website_Thumbail
The New Mobile Development Landscape
Download Whitepaper
 
IDC Spotlight Sitefinity Thumbnail
Choosing the Right Digital Experience Platform to Improve Business Outcomes
Download Whitepaper
 
TheFastestWayToBuildMobileAppsArtboard-2
The Fastest Way to Build Mobile Apps With Cloud Data
Watch Webinar