2012-08-29 1 views
4

이것은 SDL Tridion 2011 SP1을 사용한 면도기 템플릿 관련 내용입니다.SiteEdit UI 2012 onTridion 2011을 사용한 면도기 템플릿

SiteEdit UI 2012를 활성화하기 위해 우리는 CTs 내에 태그를 도입했습니다.

구성 요소의 중첩 된 포함 필드에있는 필드에 tcdl:ComponentField 태그를 만들 수 있는지 묻고 싶습니다.

는 여기에서 우리는 여러 값을 갖는 임베디드 필드로 "footer_links"와 함께 구성 요소를 다시 각 "footer_links"항목이 여러 값을 갖는 임베디드 필드 "sub_nav" 이 있고 편집 스위트하게 sub_nav.image을 읽을 수.

하지만 다음 작업을 수행 할 때, 오류를

오류 다음 던졌습니다 내용 TBB 인라인 편집을 가능하게 : 개체의 인스턴스로 설정되지 않았습니다 Object 참조. Tridion.SiteEdit.Templating.EnableInlineEditingUI.FindItemFieldXPath에서 (문자열 [] 부품, INT32 currentIndex, ItemFields 필드)

사람은 어떤 생각을 가지고? 우리가 이것을 구현할 수 있다면? 그렇다면 코드를 따르는 것이 잘못된 것입니까?

또한 ComponentLink의 Fields를 똑같이 읽을 수 있습니까? 도움을 주시면 감사하겠습니다. @i는 INT 타입에 같은 값을 변환하지 않습니다 아래 라인이

<tcdl:ComponentField name="Fields.footer_links[@i].outer_image"> 
+0

귀하의 질문에 대답되었습니다 .. 당신이 사용하고 있지만, 당신은 확실히

String RenderComponentField(string fieldExpression, int fieldIndex) String RenderComponentField(string fieldExpression, int fieldIndex, bool renderTcdlTagOnError) String RenderComponentField(string fieldExpression, int fieldIndex, string value) String RenderComponentField(string fieldExpression, int fieldIndex, string value, bool renderTcdlTagOnError) String RenderComponentField(string fieldExpression, int fieldIndex, bool htmlEncodeResult, bool resolveHtmlAsRTFContent) String RenderComponentField(string fieldExpression, int fieldIndex, bool htmlEncodeResult, bool resolveHtmlAsRTFContent, renderTcdlTagOnError) 

감사 DWT에 동일 유사한위한 면도기 중재자 붙박이 기능을 사용할 수 없습니다 있는지 무엇을? –

답변

2

당신은이 방법

@foreach(dynamic com in Fields.footer_links) { 
/* "outer_image" is compLink and it workds fine */ 
    @if(com.outer_image != null) { 
    <tcdl:ComponentField name="com.Fields.outer_image"> 
    <img src="@com.Fields.outer_image.ID"/> 
    </tcdl:ComponentField>    
    } 

    /* "sub_nav" is Mutlivalued Embedded field and "image" is field inside it */ 

    @foreach (dynamic subCom in com.sub_nav) { 
    <li> 
    @if(subCom.image != null) { 
    <tcdl:ComponentField name="subCom.Fields.image"> 
     <img src="@subCom.Fields.image.ID" /> 
    </tcdl:ComponentField> 
    } 
} 
} 

같은 시도 할 수 tcdl 태그를 생성하는 데 문제가 있습니까? 쉽게 태그와 속성을 형식화 한 문자열을 반환 할 수 있습니다이 확장 방법

public static MvcHtmlString SiteEditComponentField(this HtmlHelper helper, string id) 

:

당신은 당신을 위해 태그를 생성하는 도우미 메서드를 만들 수 있습니다이 문제를 해결합니다.

+0

''코드 줄이 제대로 작동하지 않습니다. 문제가 나중에 발생합니다. ' '이 경우에도 출력물에 등등 ..하지만 여전히 오류가 지속됩니다. – Tejas

1

나는 당신을 믿고있어 보인다 때문에

@for (int i=0; i<Fields.footer_links.Count; i++) { 
/* "outer_image" is compLink and it workds fine */ 
    @if(Fields.footer_links[i].outer_image != null) { 
    <tcdl:ComponentField name="Fields.footer_links[@i].outer_image"> 
    <img src="@Fields.footer_links[i].outer_image.ID"/> 
    </tcdl:ComponentField>    
    } 

    /* "sub_nav" is Mutlivalued Embedded field and "image" is field inside it */ 

    @for (int j=0; j<Fields.footer_links[i].sub_nav.Count; j++) { 
    <li> 
    @if(Fields.footer_links[i].sub_nav[j].image != null) { 
    <tcdl:ComponentField name="Fields.footer_links[@i].sub_nav[@j].image"> 
     <img src="@Fields.footer_links[i].sub_nav[j].image.ID" /> 
    </tcdl:ComponentField> 
    } 
} 
} 
1

그것의 너무 긴 시간은