jakubstach/visual-paginator
Composer 安装命令:
composer require jakubstach/visual-paginator
包简介
Visual paginator for Nette Framework
README 文档
README
Visual paginator for Nette Framework
Installation
The best way to install ipub/visual-paginator is using Composer:
{
"require": {
"ipub/visual-paginator": "dev-master"
}
}
or
$ composer require ipub/visual-paginator:@dev
After that you have to register extension in config.neon.
extensions: visualPaginator: IPub\VisualPaginator\DI\VisualPaginatorExtension
Usage
Implementing into Presenter or Component
use IPub\VisualPaginator\Components as VisualPaginator; class SomePresenter extends Nette\Application\UI\Presenter { /** * @var Model */ private $dataModel; public function renderDefault() { $someItemsList = $this->dataModel->findAll(); // Get visual paginator components $visualPaginator = $this['visualPaginator']; // Get paginator form visual paginator $paginator = $visualPaginator->getPaginator(); // Define items count per one page $paginator->itemsPerPage = 10; // Define total items in list $paginator->itemCount = $someItemsList->count(); // Apply limits to list $someItemsList->limit($paginator->itemsPerPage, $paginator->offset); } /** * Create items paginator * * @return VisualPaginator\Control */ protected function createComponentVisualPaginator() { // Init visual paginator $control = new VisualPaginator\Control; return $control; } }
Enabling or disabling ajax support
This component bring ajax support. When ajax is enabled, then ajax class is inserted into links.
use IPub\VisualPaginator\Components as VisualPaginator; class SomePresenter extends Nette\Application\UI\Presenter { /** * Create items paginator * * @return VisualPaginator\Control */ protected function createComponentVisualPaginator() { // Init visual paginator $control = new VisualPaginator\Control; // Enable ajax (by default) $control->enableAjax(); // Or disable ajax $control->disableAjax(); return $control; } }
And now you have to define events what to do when next or previous page is loaded via Ajax request:
use IPub\VisualPaginator\Components as VisualPaginator; class SomePresenter extends Nette\Application\UI\Presenter { public function renderDefault() { $that = $this; //.... // Define event for example to redraw snippets $this['visualPaginator']->onShowPage[] = (function ($component, $page) use ($that) { if ($that->isAjax()){ $that->invalidateControl(); } }); } }
Using templates
This component come with two default templates. One is basic default template, with some basic classes and the second one is Bootstrap FW template. And also you can use your own template:
use IPub\VisualPaginator\Components as VisualPaginator; class SomePresenter extends Nette\Application\UI\Presenter { /** * Create items paginator * * @return VisualPaginator\Control */ protected function createComponentVisualPaginator() { // Init visual paginator $control = new VisualPaginator\Control; // To use bootstrap default template $control->setTemplateFile('bootstrap.latte'); // To use your own template $control->setTemplateFile('path/to/your/latte/file.latte'); return $control; } }
jakubstach/visual-paginator 适用场景与选型建议
jakubstach/visual-paginator 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 292 次下载、GitHub Stars 达 0, 最近一次更新时间为 2022 年 10 月 21 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「paging」 「paginator」 「tools」 「nette」 「ipub」 「ipublikuj」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 jakubstach/visual-paginator 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 jakubstach/visual-paginator 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 jakubstach/visual-paginator 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A set of useful PHP classes.
A Laravel package to retrieve data from Google Search Console
Symfony DataGridBundle
Symfony pagination bundle with support for arrays, Doctrine ORM repositories, queries, Twig rendering, and filter building
GHT D-Tools Bundle
MongoDB Adapter to be used with Laminas Paginator
统计信息
- 总下载量: 292
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 24
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: BSD-3-Clause
- 更新时间: 2022-10-21