2011-10-18 3 views
3

PresentationPart라는 사용자 지정 부분을 만들어 배치했습니다. placement.info에서 Placement.info를 사용하여 Orchard CMS에서 사용자 지정 콘텐츠 부분의 요약보기를 표시하는 문제

내가

<Match ContentType="Presentation"> 
    <Match DisplayType="Summary"> 
     <Place Parts_PresentationPart_Summary="Content:after"/> 
    </Match> 
    <Match DisplayType="Detail"> 
     <Place Parts_PresentationPart="Content:after"/> 
    </Match> 
</Match> 

이 폴더 레이아웃 (목록보기 요약 디스플레이가 시도) 뷰 Parts_PresentationPart_Summary가 사용되지 않습니다

Views -> 
    EditorTemplates -> 
     Parts -> 
      Parts_PresentationPart.cshtml 
    Parts -> 
     Parts_PresentationPart.cshtml 
     Parts_PresentationPart.Summary.cshtml 

입니다.

나는 Placement.info의 프리젠 테이션 요약 경기 지역은

<Match DisplayType="Summary"> 
    <Place Parts_PresentationPart="Content:before"/> 
    <Place Parts_PresentationPart_Summary="Content:after"/> 
</Match> 

기본보기가 표시됩니다으로 수정하는 경우.

요약보기를 표시하려면 무엇이 필요합니까? 아니면 완전히 건너 뛰고있는 무언가가 있습니까?

편집 : 디스플레이 드라이버에서 CombinedResult를 건너 뛰었습니다.

는 원본 :

protected override DriverResult Display(PresentationPart part, string displayType, dynamic shapeHelper) 
{ 
    return ContentShape("Parts_PresentationPart",() => shapeHelper.Parts_PresentationPart(ContentItem: part.ContentItem, Name: part.Name))); 
} 

그래서 내가 무엇을해야이 같은 것입니다?

var driverResults = new List<DriverResult>(); 
driverResults.Add(ContentShape("Parts_PresentationPart",() => shapeHelper.Parts_PresentationPart(ContentItem: part.ContentItem, Name: part.Name))); 
driverResults.Add(ContentShape("Parts_PresentationPart_Summary",() => shapeHelper.Parts_PresentationPart(ContentItem: part.ContentItem, Name: part.Name))); 
return new CombinedResult(driverResults); 
+0

CombinedResult로 게시 한 코드는 모든 것이 제대로 작동하도록하기 위해 수행해야하는 작업입니다. –

답변

2

"일반"및 "요약"모양을 완전히 별개로 취급하십시오. 당신은 단순히 "정상적인"한 요약 표시 (또는 그 반대) 표시되지해야한다고 말했다되고 그건 : 당신은 드라이버 표시 방법 게시하지 않은

<Match DisplayType="Summary"> 
    <Place Parts_PresentationPart="-"/> 
    <Place Parts_PresentationPart_Summary="Content:after"/> 
</Match> 

을, 그래서 나는 확실하지 않다 당신이이 시나리오 ... 그것에서

을 반환하는 것은 당신이 내부의 정상 및 "요약"형태 모두로 CombinedResult을 반환해야 작동합니다. 디스플레이 관리자는 Placement.info에 저장된 데이터를 기반으로 표시 할 관리자를 결정할 수 있습니다.

+0

정보로 질문을 업데이트했는데 CombinedResult에 익숙하지 않았지만 실제로 발생하는 문제를 생각할 때 정말 분명해 보입니다. – sclarson