Мне нужно получить список локализованных элементов публикации программно, используя coreservice в tridion. Может ли кто-нибудь предложить мне.
Получить список локализованных элементов
Ответы (2)
Единственный способ, который я знаю, - использовать функцию поиска:
var searchQuery = new SearchQueryData();
searchQuery.BlueprintStatus = SearchBlueprintStatus.Localized;
searchQuery.FromRepository = new LinkToRepositoryData{IdRef = "tcm:0-5-1"};
var resultXml = ClientAdmin.GetSearchResultsXml(searchQuery);
var result = ClientAdmin.GetSearchResults(searchQuery);
person
Andrey Marchuk
schedule
17.07.2012
Видимо, я совершенно неправильно понял вопрос. Я удивлен, что кому-то нужен список всех локализованных элементов в одной публикации. Но действительно, если это так, поиск предметов, как вы предложили, является хорошим решением.
- person Arjen Stobbe; 17.07.2012
Спасибо за ваше предложение. Как я могу связать приведенный выше код для получения компонентов публикации?
- person user1523958; 18.07.2012
@user1523958 user1523958 Просто добавьте параметр поиска
searchQuery.ItemTypes = new[] {ItemType.Component};
или BasedOnSchema
- person Andrey Marchuk; 18.07.2012
Я бы использовал метод GetListXml и указал объект фильтра BluePrintChainFilterData.
var subjectId = "[TCM Uri of your item]";
var filter = new BluePrintChainFilterData
{
Direction = BluePrintChainDirection.Down
};
var subjectBluePrintChainList = coreServiceClient.GetListXml(subjectId, filter);
Затем вам все еще нужно проверить локализованные элементы из полученного списка.
Этого не было в моем первоначальном ответе, и, вероятно, он не является полным, потому что я не принимаю во внимание пространства имен, но следующее будет работать для выбора локализованных (не общих) элементов.
var localizedItems = subjectBluePrintChainList.Elements("Item")
.Where(element => "false".Equals(element.Attribute("IsShared").Value, StringComparison.OrdinalIgnoreCase));
person
Arjen Stobbe
schedule
17.07.2012
Этот код найдет все локальные копии данного элемента, но вопрос
list of localized items of a publication
, поэтому все элементы из одной публикации, которые локализованы
- person Andrey Marchuk; 17.07.2012
Я не виню Арьяна за непонимание вопроса. И я определенно дал ему голос за использование этого классного API. :-)
- person Frank van Puffelen; 17.07.2012