所以标题几乎说明了一切。
我正在使用 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
我现在卡住了 - 我不知道如何显示与此项目关联的图像。
我逐步检查我的代码以检查Model
传递到我的自定义列表项视图中的内容,然后发生了一些奇怪的事情......
当模型被加载时,里面没有ListLogo
。- 见第一张快照..
然而,当我通过@if (Model.Meta != null)
我的那一刻,ListLogo
现在可以在对象上找到它,但它仍然是空的 - 就像在这个快照中一样。
如何显示与此内容项关联的图像 - 也只有 1 个。
我是否需要覆盖实际列表本身的创建?如果是这样,你能给我指点吗?
提前致谢。