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: