Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在列表视图中从Tridion Anguilla获取WebDavURL_Tridion_Tridion 2011 - Fatal编程技术网

在列表视图中从Tridion Anguilla获取WebDavURL

在列表视图中从Tridion Anguilla获取WebDavURL,tridion,tridion-2011,Tridion,Tridion 2011,我想使用Angulla作为GUI扩展获取listview中某个项目的WebDavURL属性 我有以下代码,但未返回WebDavURL: selectedItem = selection.getItems()[0]; var item = $models.getItem(selectedItem); var webDavUrl = item.getInfo().webDavUrl(); 您必须实际加载webDavUrl。。。item.loadWebDavUrl()。您必须设置一个事件处理程序,以

我想使用Angulla作为GUI扩展获取listview中某个项目的WebDavURL属性

我有以下代码,但未返回WebDavURL:

selectedItem = selection.getItems()[0];
var item = $models.getItem(selectedItem);
var webDavUrl = item.getInfo().webDavUrl();

您必须实际加载webDavUrl。。。item.loadWebDavUrl()。您必须设置一个事件处理程序,以便在WebDav URL作为异步方法加载后通知。下面是一个示例,其中包括加载和设置事件处理程序:

var item = $models.getItem(selectedItem),
    webDavUrl = item.getWebDavUrl();

if (!webDavUrl) {
    // WebDavUrl for cached item hasn't been loaded yet, so lets load it.
    $evt.addEventHandler(item, "loadwebdavurl", function (event) {
        webDavUrl = item.getWebDavUrl(); // also could do event.source.getWebDavUrl()
    });
    item.loadWebDavUrl();
}

希望有帮助

加载webdavurl后,是否值得付出额外的努力来删除事件处理程序?或者在这种情况下没有必要这样做吗?嗨,Frank,我认为这绝对是值得的,因为项目的事件处理程序也会像其他属性一样被缓存。如果在缓存范围内的某个地方(我相信在同一窗口中运行的任何扩展?)打开了该项,并且加载了webdav url,而没有检查它是否已经加载,那么您的事件处理程序也将在那里执行。