8

如何获得 Tridion 核心服务的发布目标列表?我看到此代码示例以获取目标信息,但找不到从核心服务获取列表的方法。也许它是 Publication 对象的一部分?

var pubtarget = (PublicationTargetData)client.Read("tcm:0-21-65537", readoption);

此外,如果有一种方法可以通过 Anguilla JavaScript 客户端获取它,那也很酷。

4

2 回答 2

8
var filter = new PublicationTargetsFilterData();
var pubTargets = ClientAdmin.GetSystemWideList(filter);
var pubTargetsXml = ClientAdmin.GetSystemWideListXml(filter);

您可以在filter对象上设置其他过滤器属性

于 2013-01-22T09:52:04.870 回答
7

user978511 已经回答了如何使用核心服务进行操作,所以让我来回答您如何使用 Anguilla 进行操作:

var system = $models.getItem($const.TCMROOT);
var list = system.getListPublicationTargets();

从那时起,它就是一个普通的列表——所以你需要检查isLoaded()并调用load()它是否返回false(挂钩到回调的“load”/“loadfailed”事件)。

发布目标可以通过方法以 XML 形式使用,也可以通过getXml()方法以数组形式使用getItems()(它返回模型项的数组——因此,您可以再次检查isLoaded()这些等)

于 2013-01-22T10:13:02.087 回答