2012-11-27 3 views
5

내가 표준 생성 < tridion 교체해야합니다 ComponentLink />를 클릭하십시오.이있는 공간 오버라이드 (override)하는 가장 간단한 방법은 무엇입니까 ComponentLink /> 일부 < <strong>사용자 정의</strong>와 : 내 ASP.Net 기반 Tridion2011 전원 사이트 <tridion을 ComponentLink />

(즉,의는 동일이 사용자 정의 컨트롤의 의미를 가정하자. 단지 네임 스페이스 부분을 교체해야합니다)

어떻게이 작업을 수행하는 가장 간단하고 최소 관입 방법이 될 것인가?

내 생각에 표준 대신 LinkTagHandler을 구현해야합니다. 맞습니까?

이 솔루션의 단점은 cd_deployer_conf에서 모든 태그 처리기를 명시 적으로 구성해야한다는 것입니다.

편집

찾을에만 앨리어싱 네임 스페이스의 매우 구체적인 작업에 바보 같은 간단한 해결책 : 내 모든 <tcdl:../> 태그 <custom:../>에 매핑있어 행운의 기회를, 그렇지 않으면,이 조금씩

<TCDLEngine> 
    <Properties> 
     <Property Name="aspnet.tagprefix" Value="custom"/> 
    </Properties> 
</TCDLEngine> 

속일거야. 전체

, 난 .. 베드로와 사용자 정의 TCDL 태그 핸들러를 작성 누누의 제안에 찬성하지 않고있어

(그냥 :-) 내 게으름을 승리해야합니다.

EDIT 2

아차, 단지 누누 정확히 위의 제안 것을 발견!

답변

4

접두어는 cd_deployer_conf (TCDLEngine 요소)에서 변경하여 쉽게 제어 할 수 있습니다.

분명히, 그 접두사에 대한 제어/태그 처리기를 구현하고 그것을 사용해야하는 모든 페이지/dcp를 다시 게시해야합니다.

5

예, 사용자 지정 컨트롤을 기본값 대신 출력하도록 사용자 고유의 TCDL 태그 처리기를 만드는 것이 좋습니다. 그러나 잠재적 인 또 다른 단점이 있습니다. 페이지/구성 요소를 다시 게시해야 적용됩니다.

0

물론 TCDL을 전혀 사용할 필요가 없습니다. 템플릿에서 필요한 코드를 직접 내보내십시오. 이 경우 TCDL을 사용해야하는 유일한 경우는 여러 프런트 엔드 플랫폼을 일반적으로 타겟팅해야하는 경우입니다.

+0

Dominic, 처음에 내가 한 일입니다. 하지만 템플릿에 기술 관련 지침을 포함시키지 않는 또 다른 이유가 있습니다. RTF 필드 내부의 구성 요소 링크입니다. 그것들은 기본적으로 코드 모 놀리 식 조각 인 Link Resolver TBB에 의해 처리됩니다. 따라서 CM에 기술에 무관심한 상태를 유지하는 것이 정상적인 생각 인 것 같습니다. – esteewhy

+0

그런 다음 링크 확인자를 꺼냅니다. 너는 필요 없어. –