如何控制Orchard中菜单的渲染

我有以下问题:我在Orchard建立一个网站,并且必须应用一些设计公司的设计。 他们提供了html和CSS(+ LESS),我必须把它变成一个主题。 除了菜单之外,我大部分时间都完成了。 我想在下面的代码中将一个类应用于nav标签,但我不能为该结束渲染任何替代。

 

如何影响菜单的渲染,以便我可以应用适当的CSS? 我可以制作的唯一替代品只包含:

 @Model.Text 

要么:

 @Display(Model.Menu) 

我认为您可以在Views / Menu-Main.cshtml中为菜单创建自定义形状,如本页所述 。 从那以后,你几乎可以做任何你想要的形状。 例如

 @{ // Model is Model.Menu from the layout (Layout.Menu) var tag = Tag(Model, "ul"); var items = (IList)Enumerable.Cast(Model.Items); if (items.Any()) { items[0].Classes.Add("first"); items[items.Count - 1].Classes.Add("last"); } }  

如果我不是100%正确的话,我实际上没有尝试过这样的道歉,但至少应该让你朝着正确的方向前进。

此外,上面的示例代码只是原始菜单代码的略微修改版本,关于Orchard的最佳部分是它的开源…您可以在这里查看原始代码