获取本地化项目列表

时间:2012-07-17 09:43:00

标签: tridion tridion-2011

我需要使用tridion中的核心服务以编程方式获取出版物的本地化项目列表。任何人都可以建议我。

2 个答案:

答案 0 :(得分:9)

我会使用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));

答案 1 :(得分:4)

我知道的唯一方法是使用搜索功能:

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