2012-06-27 3 views
0

Umbraco를 사용하여 여러 위젯을 설치 한 사이드 바가있는 사이트가 있습니다. 위젯 중 하나 (XSLT로 완료)가 특정 페이지에만 표시되도록 설정해야합니다. 테스트 및 일치하는 경우 xsl : 사용하여 보았다 및 그것을 알아낼 수 없습니다.Umbraco CMS의 특정 페이지에만 템플릿을 어떻게 표시합니까?

+0

그래서 무엇이 문제입니까? 나는 그것을 볼 수 없다. –

+0

제목은 읽을 수 없습니까? – cstrouse

+0

cstrouse : 나에게 이해가되지 않는 제목을 읽고 읽을 수 있습니다 - "템플릿의 일부"는 무엇을 의미합니까? 나는 이것이 질문의 내용에서 명확 해지기를 희망했다. 아아, 이것은 부당한 기대였다. 소스 XML. 서가 지정되지 않았으며 지정된 변환에서 원하는 결과가 없습니다. XSLT 코드가 전혀 없습니다. 당신은 "그것이 무엇인지"를 말하지 않고 "이해할 수 없다"는 사실만을 진술합니다. –

답변

1

당신은 올바른 길을 걷고 있지만 질문 (코드 등)에서 이미 시도한 것을 포함시키는 습관을 갖습니다.

빠른 + 더러운 방법

(콘텐츠 섹션에서 노드의 속성 탭에) 당신 페이지의 ID를 찾아 다음 코드를 사용합니다

<xsl:if test="$currentPage/@id = 1234"> 
    <!-- your widget here --> 
</xsl:if> 

클리너 메서드

항상 확장 성을 위해 코드를 빌드하십시오. d 장래에 다른 페이지에 위젯을 포함 시키거나 스테이징에서 프로덕션으로 컨텐츠를 배치하는 경우 실현하지 않고 노드 ID가 변경 될 수 있습니다 (자주 발생하지는 않지만 발생할 수 있음).

<xsl:if test="$currentPage/showMyFancyWidget = 1"> 
    <!-- your widget here --> 
</xsl:if> 

이 코드 :

는 사용하는 다음 코드를 질문 (의이 showMyFancyWidget를 호출하자)와 같은 참/거짓 데이터 형식의 페이지에 속성을 추가 콘텐츠 섹션에서 그것을 가볍게 Umbraco v4.5.1 이상에서 작동합니다. v5에 대해서는별로 확신하지 못했지만 v4.7을 위해 v4.7가 더 이상 사용되지 않습니다.

관련 문제