2012-12-19 2 views
8

저는 GUI 확장을 작성하고 Anquilla 프레임 워크를 사용하여 Category 내에 Keywords의 목록을 가져옵니다. 내 확장 기능 내에서 해당 문서로 작업하는 키워드 목록에 대한 XML 문서를 얻습니다.Anquilla Framework를 사용하는 SDL Tridion GetListKeywords

내 문제는 반환 된 XML 키워드의 'Description'값이 포함되어 있지 않습니다. 나는 등 제목과 키가

내 원래의 코드는 다음과 같습니다

var category = $models.getItem("CATEGORYTCMID:); 
var list = category.getListKeywords(); 
list.getXml(); 

반환 전형적인 노드는 이것이다 : 내가 줄 수있는 필터를 사용하여 시도했다

그래서
<tcm:Item ID="tcm:4-1749-1024" 
Type="1024" Title="rate_one" Lock="0" IsRoot="true" 
Modified="2012-12-17T23:01:59" FromPub="010 Schema" 
Key="rate_one_value" IsAbstract="false" 
CategoryTitle="TagSelector" 
CategoryID="tcm:4-469-512" Icon="T1024L0P0" 
Allow="268560384" Deny="96" IsNew="false" 
Managed="1024"/></tcm:ListKeywords> 

추가 열 정보 :

var filter = new Tridion.ContentManager.ListFilter(); 
filter.columns = Tridion.Constants.ColumnFilter.EXTENDED; 
var list = category.getListKeywords(filter); 

불행히도 이것은 추가 XML 속성을 제공합니다 :

IsShared="true" IsLocalized="false" 

XML에서 키워드 개체를 만들지 않고도 설명 값을이 XML의 일부로 사용하고 싶습니다. 그런 일이 가능한가?

기침 아이디어가 있습니까? 기침

답변

3

나는 설명을 얻기 위해 키워드 자체를로드해야 할까 두려워. 모든 목록에서 사용되지 않으므로 XML로 반환되지 않습니다.

2

항상이 정보를 목록에 추가하기 위해 List Extender을 만들 수 있지만이 Extender는 GetList가 호출 될 때마다 실행되므로 현명한 시도를하십시오.

목록에있는 모든 키워드를 열 필요가 없지만 서버 측 (예 : 핵심 서비스/NetTcp 포함)에서 각 키워드를 열 때보 다 쉽고 빠를 것입니다. 앵 귈라.

0

답장 모두에 감사드립니다. 이 경우에는 하나의 키워드 만 필요하므로 간단히 CMS에서 가져옵니다. 앵 귈라 객체를 얻는 것은 여기에 이벤트 사람의 코드가 관심의, 조금 이상해 : 기본 코드 영역에서

1) :

var selectedKy = $models.getItem("TcmUriOfKeywordHere"); 
    if (selectedKy.isLoaded()) { 
    p.selectedKy = selectedKy; 
    this.onselectedKyLoaded(); 
    } else { 
    $evt.addEventHandler(selectedKy, "load", this.onselectedKyLoaded); 
    selectedKy.load(); 
    } 

내가 속성에 키워드를 저장하는 방법 그것은 주목할 필요가 항목의, 그래서 나는 onselectedKyLoaded 기능

2) 항목이

ContentBloom.ExampleGuiExtension.prototype.onselectedKyLoaded = function (event) { 
    var p = this.properties; 
    var selectedDescription = p.selectedKy.getDescription(); 
    // do what you need to do with the description :) 
}; 

로드되면 호출되는 함수에서 그것을 얻을 수 있습니다

나는 생 해결 님, 대답 덕분에 https://stackoverflow.com/a/12805939/1221032 - 누누 누 :