2012-12-29 3 views
4

GUI 확장을 위해 앵 귈라를 사용하여 목록보기에서 항목의 WebDavURL 속성을 가져오고 싶습니다.목록보기의 Tridion Anguilla에서 WebDavURL 가져 오기

나는 다음과 같은 코드를 가지고 있지만 WebDavURL가 반환되지 않습니다

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

답변

8

당신은 실제로 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(); 
} 

희망 하시겠습니까?

+0

webdavurl을로드 한 후에도 이벤트 처리기를 제거해야 할 가치가 있습니까? 아니면이 경우에 그렇게 할 필요가 없습니까? –

+0

안녕하세요 프랭크, 나는 아이템의 이벤트 핸들러가 다른 속성과 마찬가지로 캐시되기 때문에 노력해야 할 가치가 있다고 생각합니다. 캐시의 범위 (어쨌든 동일한 윈도우 내에서 실행되는 확장 프로그램이 있다고 믿는) 어딘가에 항목이 열리고 webdav URL이 이미로드되었는지 확인하지 않고로드되면 이벤트 핸들러도 거기에서 실행됩니다. –