2011-10-18 10 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 

です。

私は、通常のビューが表示されます

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

するPlacement.infoのプレゼンテーションの概要マッチエリアを変更する場合。

要約表示を表示するには何が必要ですか?または、私が完全にスキップしているものがありますか?

編集:ディスプレイドライバで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

関連する問題