SDL Tridion 2011 SP1을 사용하여 동적 구성 요소 프레젠테이션을 게시 할 때 주로 출력 형식으로 REL을 사용하지만 이제는 ASP.NET 컨트롤 태그가 포함 된 DCP를 게시하려고합니다. 따라서 템플릿의 출력 형식을 ASCX로 변경하고 ASCX 구성 요소 프레젠테이션의 저장소를 웹 응용 프로그램 내의 파일 시스템으로 이동하도록 구성했습니다. 나는 ascx 파일을 디스크에서 볼 수 있으며 예상대로 내부에 제어 태그를 볼 수 있습니다.Tridion ASCX DCP가 자식 컨트롤을 렌더링하지 않습니다.
동일한 컨트롤 태그가 포함 된 aspx 페이지를 만들면 출력이 예상대로 나옵니 다. 그러나 ASCX 구성 요소 프레젠테이션이 컨트롤 태그의 출력을 렌더링하는 대신 구성 요소 프레젠테이션 어셈블러에 의해 실행되면 공백이 생깁니다. DCP 내의 일반 텍스트가 표시됩니다.
필자가 필요로하는 기능은 Tridion Dynamic Component 링크 컨트롤과 매우 유사하며 이미이 아키텍처 중 하나를 사용하여 성공했으며 성공했습니다. 나는 템플렛 안에 나의 꼬리표 및 tridion를, 하나씩 차례대로두기까지 갔다조차. 이 경우에는 tridion 태그의 출력을 보지만 내 web.config에서는 참조가 동일한 web.config에 연결되어 있지만 출력은 표시되지 않습니다.
Tridion의 구성 요소 프레젠테이션 어셈블러에서 ASCX DCP를 실행하고 자식 컨트롤을 성공적으로 렌더링 할 수 있음을 알 수 있습니다. 이러한 방법으로 렌더링 할 수 있도록 이러한 컨트롤을 제작할 때 요구 사항이 있습니까?
업데이트 : DCP 내 사이트 내에서 ASCX 파일에 게시
. 테스트를 위해, 지금 같은 DCP의 tridion 제어를 게시하고, 그래서 디스크의 출력은 다음과 같습니다 다음 DCP가 ComponentPresentationAssembler에 의해 다음과 같이 발표 및 실행되면
<tridion:DynamicComponentLink PageURI="tcm:34-667-64" ComponentURI="tcm:34-876"
TemplateURI="tcm:34-864-32" LinkText="Some page" runat="server" />
<xxx:ComponentLinkQS runat="server" ComponentUri="tcm:34-945"
QueryString="item=876" Text="Some page" />
첫 번째 컨트롤이 생산 예상 출력, 두 번째 출력은 그렇지 않습니다. <xxx:ComponentLinkQS/>
태그를 ASPX 페이지에 직접 배치하면 잘 렌더링됩니다.
간단한 "hello world"컨트롤을 작성하여 새로운 링킹 컨트롤이 페이지에 직접 존재하지 않고 실행 되는가? –
ASCX DCP가 웹 응용 프로그램 내에 저장되어 있습니까? – Quirijn