2012-05-24 1 views
2

Dreamweaver 템플릿 빌딩 블록을 사용하고 페이지의 SiteEdit을 구현하고 있습니다.SDL Tridion 2011의 Dreamweaver TBB에서 링크 된 구성 요소의 스키마 이름을 가져 오기 위해 여러 구성 요소 링크를 반복합니다.

저는 SDL Tridion 2011 SP1 및 사이트 편집 2012 및 기본 드림 위버 템플릿을 사용하고 있습니다.

내 스키마에 "구성 요소 링크"유형의 다중 값 필드가 있습니다. 내 주요 구성 요소 XML은 다음과 같습니다.

<Content xmlns="UUID"> 
    <link xlink:type="simple" xlink:href="tcm:202-8121" 
      xmlns:xlink="http://www.w3.org/1999/xlink"></link> 
    <link xlink:type="simple" xlink:href="tcm:202-8122" 
      xmlns:xlink="http://www.w3.org/1999/xlink"></link> 
</Content> 

연결된 구성 요소 XML은 다음과 같습니다.

<Content xmlns="Some other UUID"> 
    <text>Hi all</text> 
</Content> 

내 목표는 연결된 구성 요소의 스키마 이름을 가져 와서 연결된 구성 요소의 필드에 대한 인라인 편집을 사용하는 것입니다. URI tcm:202-8142-32을 사용하여 연결된 구성 요소의 스키마에 대해 별도의 구성 요소 템플릿을 만들었습니다.

이와 같이 주 구성 요소에 대해 DWT TBB를 작성했습니다.

<!-- TemplateBeginRepeat name="Fields.link" --> 
    <div> 
     ([email protected]@[email protected]@, [email protected]@[email protected]@) 
    </div> 

    <!-- Not able to get the schema name of the linked component -->    
    @@RenderComponentPresentation(link, "tcm:202-8142-32")@@ 
<!-- TemplateEndRepeat --> 

구성 링크 필드 "링크"를 반복 할 수 없습니다.

그런 다음 단일 구성 요소 링크 만 허용하는 스키마를 변경했습니다. 작성 TBB는 다음과 같은 경우, 일이 잘 작동 :

@@RenderComponentPresentation(link, "tcm:202-8142-32")@@ 

나는 문제가 여러 구성 요소 링크를 통해 반복에 있다고 알고 있습니다.

여러 구성 요소 링크를 반복하고 각 연결된 구성 요소의 스키마 이름을 얻는 방법을 제안하십시오.

+0

당신은 내가 이전 질문에 수행 한 편집에서 모양과 여기에 자신을 동일 할 수 있습니다. 따라서 : 1. 가로 스크롤 막대의 필요성을 최소화하기 위해 코드 및 XML 블록 (줄의 시작 부분에 4 칸, 들여 쓰기 단계마다 2 칸 또는 4 칸 들여 쓰기)을 적절히 들여 씁니다. 2. 스택 오버플로가없는 경우 각 블럭에 언어 마커를 표시하십시오 올바르게 감지하지 못합니다. 이러한 작업을 수행하는 방법을 모르는 경우 이전 편집을 보거나 매우 도움이되는 내용을 누르십시오. 버튼을 사용하여 질문을 입력/편집 할 수 있습니다. –

답변

1

다중 값 필드의 값을 루핑 할 때 (여기에서와 같이) Field이라는 변수에 현재 값을 사용할 수 있습니다. 당신은 그냥 참조 할 RenderComponentPresentation에 전화를 변경한다면, 나는 그것이 작동해야한다고 생각 :

<!-- TemplateBeginRepeat name="Fields.link" --> 
    <!-- Not able to get the schema name of the linked component -->    
    @@RenderComponentPresentation(Field, "tcm:202-8142-32")@@ 
<!-- TemplateEndRepeat --> 
1

DWT를 사용하여 스키마 이름을 가져 오는 것이 가능하지 않다고 생각합니다. 찾고자하는 값을 추출한 C# 빌딩 블록을 작성한 다음이 값을 패키지에 넣습니다.

+0

링크 된 구성 요소의 스키마 이름을 가져 오기 위해 하나 이상의 구성 요소 템플릿을 작성했습니다. – Patan

+0

정보를 주셔서 감사합니다 – Patan

+0

이와 같은 다중 값 필드를 다루는 경우, 값을 패키지로 푸시하기위한 빌딩 블록을 작성하면 알 수없는 패키지 변수를 추가하고 패키지 변수와의 관계를 관리해야한다는 것을 의미합니다 링크 요소. 표현식 언어를 확장하기 위해 함수 소스 구현을 살펴 보는 것이 더 나을 것이라고 생각합니다. 이에 대한 좋은 예가 http://www.sdltridionworld.com/community/extension_overview/dreamweaver_get_extension.aspx에 있습니다. –