2014-09-14 2 views
0

Views/EditorTemplates/Parts/folder 아래에 사용자 정의 ContentPart와 편집기보기가 있습니다. . 나는 킥이보기를 얻기 위해 내 placement.info 파일에 사용할 적절한 여기서 displaytype 값을 알아 내기 위해 노력하고 나는이 같은 것을 사용하는 경우는 표시를 참조하십시오과수원 CMS - 현재 디스플레이 유형을 얻는 방법

<Match ContentType="MyType"> 
    <Place Parts_MyPart_Edit="Content"/> 
</Match> 

하지만 내가 좋아하는 것

<Match ContentType="MyType"> 
    <Match DisplayType="????">--> 
    <Place Parts_MyPart_Edit="Content"/> 
    </Match> 
</Match> 

내가 노력했다 "상세", "요약", 그리고 실패 "SummaryAdmin"와 같은 좀 더 명시 적으로 타겟팅 할 수 있습니다.

그래서이 질문 :

  1. 어딘가에 문서화 "여기서 displaytype"값의 표준 목록이 있습니까?
  2. 런타임시 "DisplayType"이 중단 점 또는 기타를 통해 발견되어 placement.info에서 추가로 제한 할 수 있습니까? 편집기 템플릿을 사용하는 경우

편집

좀 더 이것에 대해 생각도 참여 '여기서 displaytype'인가? Part_MyPart_Edit가 이미 _Edit을 대상 지정하므로 충분히 제한적이라는 것을 알았습니다. 이게 맞습니까? 아니면 편집기 템플릿에 사용할 수있는 'DisplayType'과 일치하는 옵션이 있습니까?

+0

당신 Views 폴더가 어디에 있는지 말하지 않습니다. 테마 또는 모듈에 있습니까? 그것은 테마에서 작동하지 않기 때문에. –

+0

죄송합니다, 내 모듈에 있습니다.또한 명확하게하기 위해 템플릿을 요소로 제한하지 않으면 제대로 작동합니다. 편집기 템플릿의 디스플레이 유형을 어떻게 타겟팅 할 수 있는지 더 많이 이해하고 싶었습니다. – bingles

+1

OK, 아니요, 여기서는 일치 항목을 사용하면 안됩니다 : 도형의 이름이 이미 다릅니다. –

답변

0

1 :이 항목의 정확한 문서 위치는 모르지만 올바른 구문은 <Match DisplayType="Summary">입니다. Detail 및 SummaryAdmin은 유효한 디스플레이 유형입니다.

var shape = _contentManager.BuildDisplay(item, "CustomDisplayType"); 

이 그런 다음 모양이/뷰 YourShape.CustomDisplayType.cshtml로 이름을 지정해야합니다 :

게다가, 당신은 또한 당신의 자신의 표시 유형을 정의 할 수 있습니다. 그럼 당신은 placement.info에 여기서 displaytype를 사용할 수 있습니다

<Match DisplayType="CustomDisplayType"> 
    <Place Parts_YourPart="Content:1" /> 
</Match> 

2 다음 '모양 추적'모듈을 사용합니다. 사용하도록 설정하면 어떤 디스플레이 유형이 사용되는지 프런트 엔드에서 찾을 수 있습니다.

<Place Parts_ 섹션 중 하나를 잘못 사용했거나 파트 드라이버가 올바르게 구현되지 않았습니다. 또한 도형의 이름이 올바른지 확인하십시오.

+0

그냥 명확히하기 위해, 나는 드라이버 템플릿에있어 Display 메서드가 관련이 없으며 displayType이 Editor 메서드의 매개 변수로 보이지 않습니다. – bingles

+0

그러면 형상 추적 모듈을 사용할 수 있습니다. 모양을 추적 할 때 표시 유형도 표시합니다. – devqon

+0

편집기 템플릿에 모양 추적이 올바르게 표시되지 않습니까? – bingles

0

나는 아직 코멘트를 추가 :) 충분히 높은 명성을 가지고 있지 않기 때문에, 대답으로이 게시

하면, 관리자 페이지에 모양 추적기를 사용하여 관심있는 ShapeTracingFactory.cs 파일을 열면

Orchard.DesignerTools 모듈 및 IsActivable 방법에 다음 줄 주석 : 나는 콘텐츠 제작 작업을하는 동안 무슨 일이 일어나고 정확히 파악이 매우 유용을 발견

if (AdminFilter.IsApplied(new RequestContext(_workContext.HttpContext, new RouteData()))) return false;