zeleznypa / jao-nette-visual-paginator
此包已被废弃,不再维护。未建议替代包。
为Nette框架提供的另一个视觉分页组件
0.1.0
2014-03-17 21:13 UTC
Requires
- php: >=5.3.0
- nette/nette: >= 2.1.1
This package is not auto-updated.
Last update: 2016-01-06 08:26:45 UTC
README
Pavel Železný (2bfree), 2013 (pavelzelezny.cz)
要求
Nette框架2.1.1或更高版本。PHP 5.3版本
文档
这是基于David Grudl的原始VisualPaginator的Nette框架的另一个视觉分页组件。
增加了一些功能
- 默认模板与Twitter bootstrap 3兼容。
- 文本字符串可以翻译。
- 切换页面由Nette ajax处理。
- 支持设置额外的事件。
- 可以更改模板。
- 可以设置可见页面的数量。
安装
首选安装方式是通过Composer
{
"require":{
"zeleznypa/jao-nette-visual-paginator": "dev-master"
}
}
设置
将以下代码添加到neon.conf中
common:
services:
paginatorFactory:
implement: \Zeleznypa\Nette\Utils\IPaginatorFactory
visualPaginatorFactory:
implement: \Zeleznypa\Nette\Utils\IVisualPaginatorFactory
使用
安装后,您可以通过构造函数属性或注入方法(cs手册)在presenter中设置对IVisualPaginatorFacotry的依赖。
<?php
/**
* Base presenter for all application presenters.
*/
class TestPresenter extends \Nette\Application\UI\Presenter
{
/** @var \Zeleznypa\Nette\Utils\IVisualPaginatorFactory */
protected $visualPaginatorFactory;
/**
* Visual paginator injection
* @author Pavel Železný <info@pavelzelezny.cz>
* @param \Zeleznypa\Nette\Utils\IVisualPaginatorFactory $visualPaginatorFactory
* @return TestPresenter Provides fluent interface
* @throws \Nette\InvalidStateException
*/
public function injectVisualPaginatorFactory(\Zeleznypa\Nette\Utils\IVisualPaginatorFactory $visualPaginatorFactory)
{
if ($this->visualPaginatorFactory !== NULL)
{
throw new \Nette\InvalidStateException('Visual paginator factory has already been set');
}
$this->visualPaginatorFactory = $visualPaginatorFactory;
return $this;
}
/**
* Visual paginator component factory
* @author Pavel Železný <info@pavelzelezny.cz>
* @return \Zeleznypa\Nette\Utils\VisualPaginator
*/
protected function createComponentVisualPaginator()
{
$visualPaginator = $this->getVisualPaginatorFactory()->create();
$visualPaginator->getPaginator()->setItemsPerPage(10);
$visualPaginator->onSwitch[] = callback($this, 'redrawPaginatedList');
return $visualPaginator;
}
/**
* Redraw snippet with list of paginated data
* @author Pavel Železný <info@pavelzelezny.cz>
* @return void
*/
protected function redrawPaginatedList()
{
$this->redrawComponent('PaginatedList');
}
/**
* Visual paginator getter
* @author Pavel Železný <info@pavelzelezny.cz>
* @return \Zeleznypa\Nette\Utils\IVisualPaginatorFactory
*/
public function getVisualPaginatorFactory()
{
return $this->visualPaginatorFactory;
}
}
在Latte模板中,您可以使用标准的组件渲染器。
{control visualPaginator}