Php 如何限制Zend_Paginator中分页链接的数量
使用Zend_Paginator时,我不希望它显示所有分页链接。下面是我如何实施它的:Php 如何限制Zend_Paginator中分页链接的数量,php,zend-framework,zend-paginator,Php,Zend Framework,Zend Paginator,使用Zend_Paginator时,我不希望它显示所有分页链接。下面是我如何实施它的: $adapter = new Zend_Paginator_Adapter_DbSelect($result); $paginator = new Zend_Paginator($adapter); $page=$this->_getParam('page',1); $paginator->setItemCountPerPage(10); $paginator->setC
$adapter = new Zend_Paginator_Adapter_DbSelect($result);
$paginator = new Zend_Paginator($adapter);
$page=$this->_getParam('page',1);
$paginator->setItemCountPerPage(10);
$paginator->setCurrentPageNumber($page);
$this->view->paginator=$paginator;
现在它向我展示了所有的链接。例如,每页有100条记录和10行,因此它将显示1到10个链接我如何拥有5个链接,1到5个?
像这样:
"start" "previous" 1 2 3 4 5 "Next" "End"
已编辑
<!--Number page links-->
<?php foreach ($this->pagesInRange as $page): ?>
<?php if ($page != $this->current): ?>
<a href="<?= $this->url(array('page' => $page)); ?>">
<span class="fg-button ui-button ui-state-default"><?= $page; ?></span>
</a>
<?php else: ?>
<span class="fg-button ui-button ui-state-default ui-state-disabled" ><?= $page; ?></span>
<?php endif; ?>
<?php endforeach; ?>
这是一个好的。默认情况下,Zend Paginator将默认值设置为10,如您所见。但覆盖它的方法如下:
$adapter = new Zend_Paginator_Adapter_DbSelect($result);
$paginator = new Zend_Paginator($adapter);
$page=$this->_getParam('page',1);
$paginator->setItemCountPerPage(10);
$paginator->setCurrentPageNumber($page);
$paginator->setPageRange(5);
$this->view->paginator=$paginator;
您可以在
$paginator->setPageRange(5)中找到更多信息代码>适合我。但是,您可能需要在paginator控件中应用此功能。
这就是我控件的页面链接部分的外观
<!--Number page links-->
<?php foreach ($this->pagesInRange as $page): ?>
<?php if ($page != $this->current) : ?>
<a href="<?php echo $this->url(array_merge($params,
array('page' => $page))) ?>">
<?php echo $page ?></a> |
<?php else: ?>
<?php echo $page ?> |
<?php endif; endforeach; ?>
|
|
我应该以您的代码示例作为我的代码示例的基础来回复。对不起,先生,你这是什么意思?那是我的错。我应该以:$adapter=new Zend_Paginator_adapter_DbSelect($result)开始这个示例$paginator=新Zend_paginator($adapter);请编辑您的答案plz bcox我更改了我的代码,但仍然得到10个链接我看起来像这样请查看编辑
<!--Number page links-->
<?php foreach ($this->pagesInRange as $page): ?>
<?php if ($page != $this->current) : ?>
<a href="<?php echo $this->url(array_merge($params,
array('page' => $page))) ?>">
<?php echo $page ?></a> |
<?php else: ?>
<?php echo $page ?> |
<?php endif; endforeach; ?>
<!-- Numbered page links -->
<?php foreach ($this->pagesInRange as $page): ?>
<?php if ($page != $this->current): ?>
<?php if ($page <6): ?>
<a href="<?= $this->url(array('page' => $page)); ?>"><span class="fg-button ui-button ui-state-default"><?= $page; ?></span></a>
<?php elseif($page <6): ?>
<span class="fg-button ui-button ui-state-default ui-state-disabled" ><?= $page; ?></span>
<?php endif; ?>
<?php endif; ?>
<?php endforeach; ?>