在Orchard CMS中的列表备用项视图中显示媒体库选取器字段图像

Dar*_*ght 3 asp.net-mvc orchardcms

所以标题几乎说明了一切.

我正在使用Orchard CMS v1.7.我创建了自己的内容类型(产品类别) - 这与页面基本相同,但也有一个额外的字段(媒体库选择器字段),允许我选择并显示单个图像 - 这将显示在两个列表项视图以及主页面内容.

我使用投影页面显示所有内容类型"ProductCategories".这很好,并且符合预期.

我现在想要在查看投影页面时在ProductCategories列表中的每个项目中显示此附加图像.

使用形状跟踪我为列表项创建了一个替代项.

默认情况下,这看起来像这样:

    @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
Run Code Online (Sandbox Code Playgroud)

我现在卡住了 - 我不知道如何显示与此项目相关联的图像.

我单步执行我的代码来检查Model传递到我的自定义列表项视图的内容,并发生奇怪的事情......

当模型加载时,没有ListLogo内部. - 看第一张快照..

- 注意对象中没有ListLogo  -

然而,现在@if (Model.Meta != null)ListLogo可以在对象上找到我现在可以看到的那一刻,但它仍然是空的 - 就像在这个快照中一样.

- 我现在有ListLogo虽然它是空的 -

如何显示与此内容项关联的图像 - 也只有1个.

我是否需要覆盖实际列表本身的创建?如果是的话,你能指点一下吗?

提前致谢.

Dar*_*ght 5

嗯 - 所以这一切都归结为我主题中的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>
Run Code Online (Sandbox Code Playgroud)