geniv/nette-visualpaginator

此包已被放弃,不再维护。未建议替代包。

Nette Web应用中显示分页器的插件

v1.0.2 2017-03-13 21:27 UTC

This package is not auto-updated.

Last update: 2020-01-24 16:27:52 UTC


README

VisualPaginator 是 Nette 框架的一个组件,它提供了一种舒适的方式来渲染长列表的分页组件。

安装

安装此组件的最佳方式是通过 Composer

$ composer require geniv/nette-visualpaginator

composer.json

"geniv/nette-visualpaginator": ">=1.0",

使用

- VisualPaginator

基本用法


use VisualPaginator;

...

/** @var VisualPaginator @inject */
public $visualPaginator;

public function renderDefault()
    // for dibi
    $items = $this->model->getList();

    $items = range(1, 150);

    $vp = $this->visualPaginator->getPaginator();
    $vp->setItemCount(count($items))
        ->setItemsPerPage(5);

    // for dibi
    $this->template->items = $items->limit($vp->getLength())->offset($vp->getOffset());

    // for array
    $this->template->items = array_slice($items, $vp->getOffset(), $vp->getLength())
}

protected function createComponentVisualPaginator()
{
    return $this->visualPaginator;
}

高级用法

protected function createComponentVisualPaginator()
{
    return $this->visualPaginator
        ->setPathTemplate(__DIR__ . '/templates/pagination.latte');
}

或与 Autowire(例如 geniv/nette-autowired)一起使用

use AutowireComponentFactories;
use VisualPaginator;

protected function createComponentVisualPaginator(VisualPaginator $visualPaginator)
{
    return $visualPaginator;
}

从模板调用

{control visualPaginator}

or 

{control visualPaginator, count=>200, perPage=>5}

许可证

新BSD许可证

作者

  • Davig Grudl
  • Igor Hlina
  • Radek Fryšták