3

したがって、タイトルはほとんどすべてを物語っています。

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内部はありません。- 最初のスナップショットを参照してください..

- オブジェクト内に ListLogo がないことに注意してください -

@if (Model.Meta != null)ただし、このスナップショットのように、私がステップスルーした瞬間ListLogo、オブジェクトで見つけることができますが、まだ空です。

- 空ですが ListLogo ができました -

このコンテンツ アイテムに関連付けられた画像を表示するにはどうすればよいですか。これも 1 つしかありません。

実際のリスト自体の作成をオーバーライドする必要がありますか? もしそうなら、私にポインタを教えてもらえますか?

前もって感謝します。

4

1 に答える 1

5

bah - 繰り返しになりますが、これは私のテーマの Placement.info ファイルに帰着します。

Fields_MediaLibraryPicker内部への参照を追加したところDisplayType="Summary"、魅力的に機能しました。

EG私のテーマの私のplacement.infoには、私のリストのアイテムに対してこれがあります

<Match DisplayType="Summary">
    <Place Parts_Common_Metadata_Summary="-"/>
    <Place Parts_Title="-"/>
    <Place Fields_MediaLibraryPicker="Content:1" /> <!-- this adds the field.. -->       
</Match>
于 2013-08-24T15:32:15.953 に答える