2012-07-28 2 views
1

"SelectCp"리본에 Button을 만들었습니다.aspx 페이지에서 발행물과 구성 요소를 채우는 방법

버튼 클릭 주문 맞춤식 aspx 페이지를 시작합니다.

맞춤형 aspx 페이지와 같은 항목이있는 드롭 다운 메뉴가 있습니다.

  1. 선택 CP
  2. 기타

이제 사용자가 옵션을 선택할 때, 나는 aspx 페이지에을 listitem에있는 모든 간행물을 채울 필요가있다 "CP를 선택합니다." 사용자가 게시를 선택할 때 모든 구성 요소를 다른 목록에 채워야합니다.

아무도 진행 방법을 알려 줄 수 있습니까?

내가이 같이 진행하고 있지만이 영문 페이지의 목록 상자에서 게시 목록을 제공하지

을 추가했습니다.

protected void ddSelectOption_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     //CommonTridionTools objCmnUnPub = new CommonTridionTools(); 
     CoreServiceSession client = new CoreServiceSession(); 
     SessionAwareCoreServiceClient csClient = client.GetClient(); 
     ReadOptions readoption = new ReadOptions(); 
     List<string> PublicationList = new List<string>(); 
     List<string> ComponentList = new List<string>(); 

     if (ddSelectOption.SelectedItem.Equals("Select CP")) 
     { 
      FolderData RootFolder =(FolderData)csClient.Read(tridionPageId, readoption); 
      var filter = new OrganizationalItemItemsFilterData 
      { 
       Recursive = true, 
       ItemTypes = new ItemType[] { ItemType.Publication,ItemType.Component, ItemType.ComponentTemplate }, 
      }; 
      XElement CompList = csClient.GetListXml(RootFolder.Id,filter); 

      foreach (var comp in CompList.Elements()) 
      { 
       PublicationData Publication =(PublicationData)csClient.Read(comp.Attribute("ID").Value, readoption); 
       var MetadataXML = new XmlDocument(); 
       MetadataXML.LoadXml(Publication.Metadata); 
       PublicationList.Add(Publication.Id) 
       lbPublication.DataSource = PublicationList; 

      } 
     } 
+0

Tridion과 상호 작용하고 GUI 확장을 작성하는 사람들의 말 그대로 수십 가지 예가 있습니다. 그거 해봤 니? 어디서 붙어 있었 니? http://mattgemmell.com/2008/12/08/what-have-you-tried/ –

답변

3

우리는 PowerTools 2011 open source project에 이러한 출판 드롭 다운 및 기타 컨트롤에 대한 예제가 있습니다. 의 예 확장 소스를 참조하십시오

시작이를 검토하여, 다음 코드를 공유하거나 준비가되면 또 다른 질문을 시작합니다.

좋은 volunteers for the project은 작업 중 일부를 수행하는 base class을 만들었습니다.

+0

감사합니다 앨빈, 나는 이것들을 통과 할 것이고, 한 번 끝내면 코드를 공유 할 것입니다. – SDLBeginner

2

사용자가 항목을 선택할 수있는 좋은 예는 Item Selector extension에서 찾을 수 있습니다.

복사/붙여 넣기 형식 일 필요는 없지만 대부분의 부분을 요구합니다. 그것을 연구하고 귀하의 필요에 맞게 또는 특정 부분이 명확하지 않은 경우에 고착 된 경우 당사에 연락하십시오.

+0

예, 솔직히 말해서, 거기에 표시된 개념을 사용하고 해결책을 생각해 낼 것입니다. – SDLBeginner

1

이 항목 선택기 확장은 당연하지만 게시 수가 너무 자주 변경되지 않기 때문에 구성 파일에서이 목록의 데이터를 가져 오는 것이 좋습니다.

이 방법을 사용하면 사용자가 액세스 할 수있는 것만이 아니라 적절한 출판물만으로도이 목록을 훨씬 쉽게 필터링 할 수 있습니다.

+0

고맙습니다. 내가 어떻게 진행하고 있는지 좀 봐주세요,하지만 이것을 사용하여 aspx 페이지의 목록 상자에 게시 목록을 가져올 수 없습니다. 친절하게도 내가 잘못된 방향이라면 나에게 맞춰라. – SDLBeginner

+0

컴포넌트 ID를 사용하여 발행물을 얻으려고합니다. –

+0

: 코드에서 실수를 저질렀습니다. 이제 나는 그것을 고치고 출판물을 선택할 때 두 가지 다른 목록에있는 구성 요소와 구성 요소 템플릿을 얻고 있습니다. – SDLBeginner