首页 > 编程语言 >zblogphp的Pagebar类如何使用

zblogphp的Pagebar类如何使用

时间:2022-11-19 19:45:44浏览次数:35  
标签:Pagebar zblogphp page% param 如何 zbp pagebar page

当我们为Zblog开发的插件/模板不走系统内置的 ViewXX()编辑器时,模板中就没有pagebar对象了。
想用系统的Pagebar功能,但是官方文档里没有介绍该怎么使用,就只能查看源码了。
在路由文件中,是这样使用的:

/*
* @param string $route 
* 形如 '{%host%}post/{%id%}.html' 或者 '{%host%}?act={%act%}{&page=%page%}'
* url的query部分只能支持匹配'&'开头,如{&page=%page%};
* 而{?act=%act%}将会匹配出错。必要时的可以看源码了解其路由匹配规则。
*/
$pagebar = new Pagebar($route);

Pagebar的构造函数其实有很多参数:

/**
 * @param $urlrule 可以是路由字符串或路由数组(就是zblogphp对象的成员函数`RegRoute()`传入的参数)
 * @param bool $no_use 该参数已被废弃了
 * @param bool $useAbbr 设置为true为精简模式,就把{%page%}之后的全部删除,再删除之前的,一直到}/&为止
 * @param bool $forceDisplayFirstPage = false 强制pagebar显示第一页
 */
 public function __construct($urlrule, $no_use = true, $useAbbr = false, $forceDisplayFirstPage = false){}

但是新建对象只要传入第一个参数就好了,其他的参数真的一般用不到。

新建对象后直接调用Make()函数并不能争取的输出分页链接,还需要对其必要的成员以及路由规则中的参数赋值。
比如: {%host%}category-{%id%}_{%page%}.html

$pagebar->PageCount = $zbp->displaycount;
$pagebar->PageNow = $page;
$pagebar->PageBarCount = $zbp->pagebarcount;
$pagebar->UrlRule->Rules['{%id%}'] = 8;
$pagebar->UrlRule->Rules['{%page%}'] = $page; // page 参数并不是必须的
$pagebar->Make();

还可以定义上下首尾按钮的文字:

$zbp->lang['msg']['first_button'] = 'First';
$zbp->lang['msg']['prev_button'] = '上一页';
$zbp->lang['msg']['next_button'] = 'Next';
$zbp->lang['msg']['last_button'] = '尾页';

如此这般,就能使用zblogphp的pagebar对象了。

标签:Pagebar,zblogphp,page%,param,如何,zbp,pagebar,page
From: https://www.cnblogs.com/chaihuibin/p/16906791.html

相关文章

  • 如何使用C# Stopwatch 测量微秒级精确度
    跟同事讨论到-用C#Stopwatch取得效能数值,Stopwatch.ElapsedMilliseconds只到毫秒(ms),如果需要更高的时间精确度(微秒μs,甚至奈秒ns),该怎么做?原以为要费番功夫,在Stacko......
  • 家庭实验室系列文章-如何迁移树莓派系统到更大的 SD 卡?
    前言其实这个专题很久很久之前就想写了,但是一直因为各种原因拖着没动笔。因为没有资格,也没有钱在一线城市买房(......
  • 如何评价
    热搜第四条注意到这篇博客是在衡中理论上是体活的时间里写下的而体活被吃了注意到衡中从暑假开学就没放过假说是疫情防控如何评价......
  • Python的线程如何理解
    Num01-->多线程threadingPython中建议使用threading模块,而不要使用thread模块。原因如下:1,Python中threading模块对thread进行了一些包装,可以更加方便的使用。2,Python......
  • 以数字为帆,海外工厂如何提高设备管理效率?
    疫情时代,无疑极大的压抑了国内厂商布局海外市场的热情,但同时也带来了新的思考。如果设备的管理维护离不开现场人员,那么就采取远程管理手段,打造工业物联网远程监控系统或许就......
  • 安卓系统中如何使用网络请求库
    目录在清单文件中,赋予app网络权限在module的gradle文件添加依赖在清单文件中,赋予app网络权限在包名下面加上这段内容<uses-permissionandroid:name="android.permissio......
  • 如何获取div下的子标签-字标签不一定还是div-如何获取div下的h5标签
    varhtmlStr="";htmlStr+="<divid=\"div_"+data.retData.id+"\"class=\"remarkDiv\"style=\"height:60px;\">";htmlStr+="<divstyle=\"position:relative;top:-4......
  • QT 如何优雅地去掉对话框的问号
    QT对话框的问号是什么?QDialog默认的windowflag中包含了Qt::WindowContextHelpButtonHint,这个flag意思是在窗口上提供"上下文帮助"按钮 使用方式为,调用v......
  • Python冷知识:如何找出新版本增加或删除了哪些标准库?
    “内置电池”是Python最为显著的特性之一,它提供了200多个开箱即用的标准库。但是,历经了30多年的发展,很多标准库已经成为了不得不舍弃的历史包袱,因为它们正在“漏电”......
  • 数字化转型的难点在哪里?该如何突破?
    数字化转型的难点主要有下面5个(另外本文给出5步来推进数字化转型),这是由于企业的数字化转型升级是在不断变革发展的内外部环境中进行的,目的在于达到保持更强健、更持续的生......