获取本地化项目列表

use*_*958 2 tridion tridion-2011

我需要使用trocion中的coreservice以编程方式获取发布的本地化项目列表.任何人都可以建议我.

Arj*_*bbe 9

我将使用GetListXml方法并指定BluePrintChainFilterData过滤器对象.

var subjectId = "[TCM Uri of your item]";
var filter = new BluePrintChainFilterData
                 {
                     Direction = BluePrintChainDirection.Down
                 };

var subjectBluePrintChainList = coreServiceClient.GetListXml(subjectId, filter);
Run Code Online (Sandbox Code Playgroud)

然后,您仍需要从收到的列表中验证本地化项目.

这不是我原来的答案,可能不完整,因为我没有考虑名称空间,但以下将可以选择本地化(非共享)项目.

var localizedItems = subjectBluePrintChainList.Elements("Item")
    .Where(element => "false".Equals(element.Attribute("IsShared").Value, StringComparison.OrdinalIgnoreCase));
Run Code Online (Sandbox Code Playgroud)


And*_*huk 5

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

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);
Run Code Online (Sandbox Code Playgroud)