venca-x / nette-pagination
Nette 插件。Twitter Bootsrap 分页插件
v1.0.1
2023-11-15 14:25 UTC
Requires
- php: >=7.1
- latte/latte: >=2.0
- nette/application: >=2.0
- nette/utils: ^3.0 || ^4.0
Requires (Dev)
- nette/bootstrap: ^3.0
- nette/robot-loader: ^3.0 || ^4.0
- nette/tester: ^2.0
- tracy/tracy: ^2.0
This package is auto-updated.
Last update: 2024-09-15 16:23:34 UTC
README
插件为 Nette。使用 Twitter Bootstrap 风格的分页插件 Twitter Bootstrap 支持 Twitter Bootstrap 3 和 Twitter Bootstrap 4
安装
使用 composer 安装
composer require venca-x/nette-pagination:dev-master
Nette 3.0
对于 Nette 3.0(以及 PHP >= 7.1),使用
composer require venca-x/nette-pagination:^1.0
//or
composer require venca-x/nette-pagination:dev-master
对于 Nette 2.4 和 2.3,使用
composer require venca-x/nette-pagination:^0.1
配置
HomepagePresenter.php
/** @var int shoved page in paginator */ private $paginatorOffset; public function actionMy() { //$vp = new VencaX\NettePagination\BootstrapRendererV4(); $vp = new VencaX\NettePagination\BootstrapRendererV4($this, 'vp'); $vp->setMaximalPagesCount( 5 );//maximal count pages in paginator $paginator = $vp->getPaginator(); $paginator->itemsPerPage = 20; $paginator->itemCount = $this->modelTweets->findAll()->count( "*" ); $this->paginatorOffset = $paginator->offset; $this->dataSelection = $this->modelTweets->findAll()->limit( $paginator->itemsPerPage, $paginator->offset ); //... } public function renderMy() { $this->template->paginatorOffset = $this->paginatorOffset; }
用法
在分页器的所有页面(除了第一页)上使用 meta robots noindex,follow
{block head} {if $paginatorOffset > 1} <meta name="robots" content="noindex,follow"> {/if} {/block} {block content} ... {control vp} ... {/block}
技巧
如何更改标签“上一页”和“下一页”?
在构造函数中更改它
$vp = new VencaX\NettePagination\BootstrapRendererV4(); $vp->setPreviousLabel('«'); $vp->setNextLabel('»'); //or $vp = new VencaX\NettePagination\BootstrapRendererV3(); $vp->setPreviousLabel('«'); $vp->setNextLabel('»');
TwitterBootstrap v3
如何为 TwitterBootstrap v3 使用它?
用法与 TwitterBootstrap v4 相同。只需更改类到 VencaX\NettePagination\BootstrapRendererV3
/** @var int shoved page in paginator */ private $paginatorOffset; public function actionMy() { $vp = new VencaX\NettePagination\BootstrapRendererV3(); $vp->setMaximalPagesCount( 5 );//maximal count pages in paginator $paginator = $vp->getPaginator(); $paginator->itemsPerPage = 20; $paginator->itemCount = $this->modelTweets->findAll()->count( "*" ); $this->paginatorOffset = $paginator->offset; $this->dataSelection = $this->modelTweets->findAll()->limit( $paginator->itemsPerPage, $paginator->offset ); //... } public function renderMy() { $this->template->paginatorOffset = $this->paginatorOffset; }