如何获得 Tridion 核心服务的发布目标列表?我看到此代码示例以获取目标信息,但找不到从核心服务获取列表的方法。也许它是 Publication 对象的一部分?
var pubtarget = (PublicationTargetData)client.Read("tcm:0-21-65537", readoption);
此外,如果有一种方法可以通过 Anguilla JavaScript 客户端获取它,那也很酷。
如何获得 Tridion 核心服务的发布目标列表?我看到此代码示例以获取目标信息,但找不到从核心服务获取列表的方法。也许它是 Publication 对象的一部分?
var pubtarget = (PublicationTargetData)client.Read("tcm:0-21-65537", readoption);
此外,如果有一种方法可以通过 Anguilla JavaScript 客户端获取它,那也很酷。
var filter = new PublicationTargetsFilterData();
var pubTargets = ClientAdmin.GetSystemWideList(filter);
var pubTargetsXml = ClientAdmin.GetSystemWideListXml(filter);
您可以在filter
对象上设置其他过滤器属性
user978511 已经回答了如何使用核心服务进行操作,所以让我来回答您如何使用 Anguilla 进行操作:
var system = $models.getItem($const.TCMROOT);
var list = system.getListPublicationTargets();
从那时起,它就是一个普通的列表——所以你需要检查isLoaded()
并调用load()
它是否返回false
(挂钩到回调的“load”/“loadfailed”事件)。
发布目标可以通过方法以 XML 形式使用,也可以通过getXml()
方法以数组形式使用getItems()
(它返回模型项的数组——因此,您可以再次检查isLoaded()
这些等)