Tuesday 19 March 2013

Does my Sitecore Item Have a Version in a Specific Language

So, this post is pretty heavily related to my last one "How to get Language Specific Links from Sitecore" and comes from the fact that even if you haven't created a version of your item in a specific language it will act as though it does. The quick snippet for this one is:
if (item.Versions.GetLatestVersion(language).Versions.Count >0)
{
     // you have a version
}
else
{
     // you don't
}
The thing to note here is that "GetLatestVersion" will return you an item, even if it doesn't have a version in the specified language, but the count of versions on that item will be 0.

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);
  }
}

How to disable "Add Users" in Sitecore's Platform DXP

 I have seen a few posts going around the community asking how to disable the "Add Users" button in Sitecore Platform DXP.   This ...