したがって、タイトルはほとんどすべてを物語っています。
Orchard CMS v1.7 を使用しています。独自のコンテンツ タイプ (製品カテゴリ) を作成しました。これは基本的にページと同じですが、追加のフィールド (メディア ライブラリ ピッカー フィールド) もあり、単一の画像を選択して表示できます。リスト アイテム ビューとメイン ページのコンテンツ。
プロジェクション ページを使用して、すべてのコンテンツ タイプ「ProductCategories」を表示します。これはうまく機能し、期待どおりです。
プロジェクション ページを表示するときに、ProductCategories のリストの各項目内にこの追加の画像を表示したいと考えています。
Shape Tracing を使用して、リスト項目の代替を作成しました。
デフォルトでは、これは次のようになります。
@using Orchard.Utility.Extensions;
@{
if (Model.Title != null) {
Layout.Title = Model.Title;
}
Model.Classes.Add("content-item");
var contentTypeClassName = ((string)Model.ContentItem.ContentType).HtmlClassify();
Model.Classes.Add(contentTypeClassName);
var tag = Tag(Model, "article");
}
@tag.StartElement
<header>
@Display(Model.Header)
@if (Model.Meta != null) {
<div class="metadata">
@Display(Model.Meta)
</div>
}
</header>
@Display(Model.Content)
@if(Model.Footer != null) {
<footer>
@Display(Model.Footer)
</footer>
}
@tag.EndElement
このアイテムに関連付けられている画像を表示する方法がわかりません。
コードをステップ実行して、カスタム リスト アイテム ビューに渡されたコンテンツを検査するModel
と、奇妙なことが起こります...
モデルが読み込まれると、ListLogo
内部はありません。- 最初のスナップショットを参照してください..
@if (Model.Meta != null)
ただし、このスナップショットのように、私がステップスルーした瞬間ListLogo
、オブジェクトで見つけることができますが、まだ空です。
このコンテンツ アイテムに関連付けられた画像を表示するにはどうすればよいですか。これも 1 つしかありません。
実際のリスト自体の作成をオーバーライドする必要がありますか? もしそうなら、私にポインタを教えてもらえますか?
前もって感謝します。