クロスポスト: https://orchard.codeplex.com/discussions/461867
完全なシナリオは次のとおりです。すべてのカスタム フィールド (イントロ テキスト、議題など) を含む EventItem パーツを持つ EventItem コンテンツ アイテムがあります。トラックと呼ばれる別のパーツが EventItem にアタッチされています。問題は、トラック内にゾーンを追加して、動的ゾーンを介した配置を介して EventItem からトラックにフィールドをレンダリングできるようにすることです。データを取得してパーツ内でレンダリングできることはわかっていますが、柔軟性を持たせて配置/ゾーンを使用したいと考えています。
以下のContent-EventItem.Detail代替のような代替を使用すると、動的ゾーンが簡単になることはわかっています。
@Display(Model.ImageArea)
ただし、私の部分はビューモデルを使用しているため、使用するプロパティ/オブジェクトを事前に定義する必要があります。このブログも読んだことがありますが、うまくいきません 。 .aspx
これが私の完全なコードです(コードの無関係な部分は省略されています):
トラック パーツ テンプレート
@{
Func<dynamic, dynamic> Zone = x => Display(x);
}
<div id="Overview-Tab" class="track-tab">
@Zone(Model.Overview)
</div>
パーツ ビューモデルの追跡
public class DisplayAllViewModel
{
//public Shape Overview { get; set; }
public object Overview { get; set; }
public List<TrackItem> Tracks { get; set; }
}
EventItem の配置
<Match ContentType="EventItem">
<Match DisplayType="Detail">
<Place
Fields_Sections="Overview:1"
Parts_Tracks="Content:2.5.6" />
</Match>
</Match>
概要ゾーンを使用すると、[セクション] フィールドがまったく表示されません。
アドバイスや情報をいただければ幸いです。ありがとう!