Tuesday, 19 March 2013

How to get Language Specific Links from Sitecore

By default Sitecore's Link Manager class will return you a link in the context language, this is great when you have a single language site. If you have a multi-lingual site however, this can be quite annoying, especially if you want to do a "this page is also available in X language". So here is the snippet for doing it, the key part being urlOptions.Language.

public class SomeClass
{
  public void SomeMethod()
  {
    var urlOptions = UrlOptions.DefaultOptions;
    urlOptions.Language = language;
    var link = LinkManager.GetItemUrl(item, urlOptions);
  }
}