我已经接管了 Orchard 中特定列表的列表渲染,这样我就可以向“ul”标签添加一个新类,并在项目的开头和结尾添加两个虚拟“li”元素(需要正确的“视觉-效果”网页设计师设计)。这是覆盖的模板代码:
@using Orchard.DisplayManagement.Shapes;
@{
var list = Model.List;
var items = list.Items;
var count = items.Count;
var listTag = Tag(list, "ul");
listTag.AddCssClass("historia");
var index = 0;
}
@listTag.StartElement
<li></li><li></li>
@foreach (var item in items) {
var itemTag = Tag(item, "li");
if (index == 0) {
itemTag.AddCssClass("first");
}
else if (index == count - 1) {
itemTag.AddCssClass("last");
}
@itemTag.StartElement
@Display(item)
@itemTag.EndElement
++index;
}
<li></li><li></li>
@listTag.EndElement
<div class="scroll">
<hr />
<p>
<input type="button" value="back" />
</p>
<div class="dot"></div>
<div class="dot"></div>
<div class="local"></div>
<div class="dot"></div>
<div class="dot"></div>
<p>
<input type="button" value="next" />
</p>
</div>
@Display(Model.Pager)
现在我正在尝试显示列表的标题,我注意到它根本没有在我的自定义渲染和标准列表渲染例程中显示。我已经尝试将这几个选项添加到布局中,现在可以使用:
<h1>@Model.Title</h1>
@Display(Model.Header)
@Display(Model.Title)
@Display(Model.List.Header)
@Display(Model.List.Title)
<h1>@Model.Header.Items[0].Title</h1>
没有任何成功!我错过了什么?(当然这是一个新手问题:-)