Get all locations of an item

ContentLocationService API registers all locations of an item in the database. You can access them by calling the GetItemLocations() method of the ContentLocationService. It has two overloads that you can use depending on your use case scenario.

Get an item's location by its details 

You can get the item locations when you do not have the data item, but you know its details - ID, Type, ProviderName
In this case, you can use the overload of the GetItemLocations() method that takes as parameters the content item’s Type, ProviderName, ID, and Culture (for multilingual) and returns an enumeration of IContentItemLocation objects. These are all the locations where the specified item can be opened. If there is no location, the GetItemLocations() method returns an empty collection.

The following code sample gets all locations of a news item by its ID:

Get an item's locations by a reference

You can get the item locations when you have a reference to the item. In this case, you use the GetItemLocations(IDataItem item, CultureInfo culture = null) overload that takes as parameter the actual IDataItem and as optional parameter - the desired culture. It returns an enumeration of IContentItemLocation objects. If there are no locations, it returns an empty collection.

The following code sample gets all locations where a news item is published:

Want to learn more?

Sign up for our free beginner training. Boost your credentials through advanced courses and certification.
Register for Sitefinity training and certification.

Was this article helpful?