Orchard CMS 1.4.2:如何在投影中添加寻呼机

时间:2012-06-18 15:51:32

标签: orchardcms

星期一下午很厚......

如何将寻呼机添加到投影列表?

我有一个符合查询的135个Recorded Species内容项的列表。那么如何分页呢? :(

在“编辑投影”页面中选中“显示寻呼机”框,只需添加:

 << Older Newer >> 

页面底部的链接。渲染的html是,例如:

<ul class="group pager" shape-id="3">        
        <li class="page-next" shape-id="3">« <a href="/wetlands/recorded-species?page=4" shape-id="3">Older</a>
        </li>
        <li class="page-previous" shape-id="3"><a href="/wetlands/recorded-species?page=2" shape-id="3">Newer</a> »
        </li>
</ul>

即:

&LT;&LT;较旧会增加页码。较新的&gt;&gt;减少页码。这看起来像是一个bug,正如我所期望的上一页和下一页链接,以及页码链接。不老和新......

是否有某些模块需要禁用?

1 个答案:

答案 0 :(得分:2)

这是一个功能:默认的前端寻呼机就是这样(第1页始终是最新的页面)。 对于更丰富的寻呼机,只需看看TheAdmin主题(Views / Pager)中的那个。下面是它的精简版本,还显示页码:

@{
    Model.PreviousText = T("<");
    Model.NextText = T(">");

    var routeData = new RouteValueDictionary(ViewContext.RouteData.Values);
    var queryString = ViewContext.HttpContext.Request.QueryString;
    if (queryString != null)
    {
        foreach (string key in queryString.Keys)
        {
            if (key != null && !routeData.ContainsKey(key))
            {
                var value = queryString[key];
                routeData[key] = queryString[key];
            }
        }
    }

    if (routeData.ContainsKey("id") && !HasText(routeData["id"]))
    {
        routeData.Remove("id");
    }


    Model.Metadata.Type = "Pager_Links";
    IHtmlString pagerLinks = Display(Model);

    Model.Classes.Add("selector");
    var pageSizeTag = Tag(Model, "ul");

    if (Model.RouteData != null)
    {
        foreach (var rd in Model.RouteData.Values)
        {
            routeData[rd.Key] = rd.Value;
        }
    }
}
@if (Model.TotalItemCount > 1)
{
    <div class="pager-footer">
        @pagerLinks
    </div>
}