jinnguyen / puja-paginator
Puja-Paginator 是一个灵活的数据分页组件,用于对数据集进行分页并展示给用户。
v1.0.0
2017-01-18 02:07 UTC
This package is not auto-updated.
Last update: 2024-09-23 16:00:11 UTC
README
Puja-Paginator 是一个灵活的数据分页组件,用于对数据集进行分页并展示给用户。
安装
只需在命令行上运行此命令
composer require jinnguyen/puja-paginator
用法
include '/path/to/vendor/autoload.php'; use Puja\Paginator\Paginator;
示例
简单
$paginator = new Paginator( '/news/', // url 100, // total of records 10 // number of records per page );
本文档的其余部分将假设您已经有一个 $paginator
实例,您正在对其调用。
添加渲染器
$paginator->addRenderer('simple', 'Puja\Paginator\Renderer\Simple'); // Puja\Paginator\Renderer\Simple must be extended of Puja\Paginator\Renderer\RendererAbstract
设置标签
$paginator->setLabels($labes); // default $labels is [First, Prev, Next, Last]
首先,最后和当前 CSS 类
第一个/最后一个 CSS 类是第一个/最后一个面包屑元素的类
$paginator->setFirstCssClassName($className); $paginator->setLastCssClassName($className); $paginator->setCurrentCssClassName($className);
元素
默认的分页元素是 <li class="{CssClassName}">%s{Divider}</li>
。要更改它,请使用 setElement 方法如下
$paginator->setElement('<span class="{FirstLastCss}">%s{Divider}</span>');
注意
"%s" is required for Paginator::$element {CssClassName}: will be replaced by Paginator::$firstCssClassName/Paginator::$currentCssClassName/Paginator::$lastCssClassName if this element is first/current/last element. {Divider}: will be replaced by Paginator::$divider
列表元素
用于包装分页的默认列表元素是 <ul>%s</ul>
。要更改它,请使用 setListElement 方法如下
$paginator->setListElement('<ol class="ol-paging">%s</ol>');
注意
"%s" is required for Paginator::$listElement
分隔符
默认的分隔符是 ``(空)。这将在 Paginator::$element 属性中的占位符 {Divider} 处替换。如果您想将其更改为,例如 /
,您可以这样做
$paginator->setDivider('/');
输出
最后,当您实际想要显示面包屑时,您只需在实例上调用 render()
方法即可。
echo $paginator->render('simple'); echo $paginator->render('basic'); echo $paginator->render(); // default is `basic`
注意
You can write custom Renderer by yourself. You can check Puja\Paginator\Renderer\Simple as a sample
示例
class CustomRenderer extends \Puja\Paginator\Renderer\RendererAbstract { public function parse() { $p = ''; for ($i = 0; $i < $this->paginator->getTotalPage(); $i++) { $p .= $this->paginator->getPageElement($i, true); } return $p; } } $paginator->addRenderer('custom', 'CustomRenderer'); $paginator->render('custom');
请注意,默认情况下,第一个/上一个/下一个/最后一个标题会渲染转义 HTML 字符,如果您想忽略它,只需这样做
$paginator->setSafeHtml(false);