在anguilla中的GetItemByWebDavUrl

时间:2012-12-11 23:17:50

标签: tridion tridion-2011

我正在编写SDL Tridion Anguilla扩展,需要使用webdav网址拉取配置组件。配置还有一组webdav网址,我需要获取这些对象的项目。

弗兰克 - 我可能在我的问题中吃了几句话。我正在编写CMS GUI扩展并编写javascript。有没有像$ models.getItem();它给了我组件的组件或xml?

2 个答案:

答案 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