如何在窗口小部件之前呈现临时形状

时间:2013-02-25 12:22:23

标签: c# asp.net-mvc orchardcms

我在Layout.cshtml中有以下代码将用户控件添加到标题中:

WorkContext.Layout.Header.Add(New.User(), "10");

在标题中

<article class="widget-HeaderMenu widget-header widget-menu-widget widget" shape-id="5">

之前呈现

<div class="user-display" shape-id="15">(这是注入WorkContext的东西)

两者都是浮动的,但是需要反转订单才能使用户控件出现在菜单的右侧。

我该怎么做?

我很好奇它是否与WorkContext.Layout.Header.Add(New.User(), "10");的第二个参数有关,即使我将其设置为超过9000,它似乎也无法做任何事情?我将左参数识别为Clay对象btw的实例化。

编辑

经过一些实验,似乎第二个参数是区域内注入形状的顺序。

EDIT2

我的效果是我希望bij将<li>@Display(New.User())</li>添加到MenuWidget替代。

候补将是:

@{
// Model is Model.Menu from the layout (Layout.Menu)
var tag = Tag(Model, "ul");

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

if (items.Any()) {
    items[0].Classes.Add("first");
    items[items.Count - 1].Classes.Add("last");
    }    
}
<nav id='topnav'>

    <ul>
       @DisplayChildren(Model.Menu)
        <li>@Display(New.User())</li>
    </ul>
</nav>

另请参阅:How to control the rendering of a menu in Orchard

1 个答案:

答案 0 :(得分:0)

最简单的可能是您引入一个新区域。