在Orchard寻呼机列表中将类添加到列表项

时间:2016-12-12 13:51:20

标签: orchardcms

我需要在果园寻呼机列表中的li标记中添加一个类。

我可以看到形状是在CoreShapes.cs中构建的,并且类正被添加到第一个和最后一个项目中。我不想编辑Orchard源代码并添加itemTag.AddCssClass("my-class")

我可以为List添加备用,但这会覆盖整个网站上的列表。 ShapeTracing不显示任何其他替代品。

我一直在调试Pager.cshtml和相关的替代品.Last,.Link等,但我无法到达链接和li之间的ul

我已经阅读了这个article,但这只能涵盖li内的内容。 我已阅读此article,但这假设我有Model.ContentItems

在SO上也存在类似的问题,但它们仅涵盖实际具有替代内容的内容项。

理想情况下,我想做一些事情,例如添加List.Pager.cshtml并在那里做;

<li class="my-class">
    @Display(Model)
</li>

1 个答案:

答案 0 :(得分:0)

为列表形状添加替代品是我想的方式。

1)为您的特定列表添加alternate,例如MyList.cshtml

2)借用Orchard.Core/Shapes/Views/Menu.cshtml中的一些代码,并将以下行添加到MyList.cshtml

var items = (IList<dynamic>)Enumerable.Cast<dynamic>(Model.Items);

if (items.Any()) {
  items[%YourItem%].Classes.Add("my-class");
}

...

@DisplayChildren(Model)