我正在编写SDL Tridion Anguilla扩展,需要使用webdav网址拉取配置组件。配置还有一组webdav网址,我需要获取这些对象的项目。
弗兰克 - 我可能在我的问题中吃了几句话。我正在编写CMS GUI扩展并编写javascript。有没有像$ models.getItem();它给了我组件的组件或xml?
答案 0 :(得分:3)
在大多数Tridion Content Manager API中,您可以通过其TCM URI 或其WebDAV URL来读取项目。
因此,如果您正在使用核心服务,您只需执行以下操作:
var item = client.Read(webdavURL, null);
然后你可以遍历这些字段(如果你正在使用核心服务,这个Fields helper class会派上用场)并为那里的每个值做同样的事情。
如果您需要为客户端提供映射,则需要创建自定义Web服务以使其可用。虽然起初并不是微不足道的,但创建一个WCF服务并不像有些人想象的那样令人生畏。特别是当您从this example of a minimal WCF service for Tridion开始时。
答案 1 :(得分:2)
客户端上没有通过WebDAVUrl解析项目的功能。我们唯一的功能是:
var item = $models.getItem(tcmUri);
item.getWebDavUrl(); // will return you WebDAVUrl, if it was loaded before
item.loadWebDavUrl(); // will make async call to load WebDAVUrl. "loadwebdavurl" or "loadwebdavurlfailed" will be fired on the item afterwards