2013-06-17 3 views
2

Sitecore 항목의 Mvc 렌더링에서 조건부 렌더링을 사용하려고합니다. 선택한 조건에 관계없이 기본 조건을 포함하여 실제로 실행되는 규칙은 없습니다. 즉, 구성 요소 숨기기 확인란이 선택되었는지 여부에 관계없이 구성 요소는 항상 렌더링됩니다. 지금까지의 문제 해결로 인해 근본 원인이 밝혀지지 않았습니다. 전에이 문제를 경험 한 사람이 있습니까?Sitecore 6.6에서 조건부 렌더링이 작동하지 않습니다.

추가 정보 : 내 웹 브라우저에서 콘텐츠 항목에 액세스 할 때

  • sitecore 로그는 제작 과정에서 오류를 표시하거나하지 않습니다.
  • 기본 제공 CustomizeRendering.Personalize 프로세서를 사용하고 있습니다.
  • Sitecore 6.6.0- 업데이트 4와 협력 중입니다.
  • Analytics가 활성화되었습니다.
  • MVC가 사용 가능합니다.
  • 페이지가 캐시되지 않도록하기 위해 조건부 렌더링 설정을 변경하는 사이에 IIS를 재설정했습니다.
  • 사용자 지정 조건을 시도 할 때 Visual Studio에서 이러한 사용자 지정 조건의 "프로세스"메서드에 중단 점을 설정했습니다. 중단 점은 결코 부딪치지 않습니다.
  • 내 조건이 나쁜지 테스트하려면 ItemRules를 상속하는 템플릿을 설정하고 컨트롤러에서 RuleList <> .Run (컨텍스트)을 명시 적으로 호출합니다. 이 테스트 중에 내 사용자 지정 조건이 중단 점에 도달했습니다.
+0

혹시라도 구성 요소에서 캐싱을 사용할 수 있습니까? 규칙이 개별 구성 요소에 설정되어 있습니까? 아니면 전역 규칙입니까? – jammykam

+1

미리보기 모드를 사용하고 있습니까? 미리보기 모드에서 작동하지 않는 것을 기억하지만 목표가 될 수 있습니다. 다만, sc_mode = normal 인 URL을 추가 할 수 있습니다. – Trayek

+0

@jammykam 규칙은 개별 구성 요소에 설정됩니다. 글로벌 규칙 구현이 없습니다. – Jake

답변

1

위의 Trayek에서 언급했듯이 미리보기 모드는 비난 받아야합니다.

Sitecore 어셈블리로 들어가기 위해서는 조건부 렌더링을 평가하는 메서드를 호출하기 위해 CustomizeRendering.Personalize.Process()에서 "Sitecore.Context.PageMode.IsNormal"이 true로 평가되어야하며 내 값은 false로 설정하십시오.

"Sitecore.Context.PageMode.IsPreview"가 true입니다.

이것은 조건부 렌더링이 실행되지 않는 추상 레벨에 대해 설명합니다. 로그인하지 않은 상태에서도 내 사이트가 미리보기 모드를 기본값으로 설정하는 이유가 확실치 않지만 조건부 렌더링이 평가되지 않는 바로 그 원인입니다.

관련 문제