Pagination 带有查询字符串的ZF2分页器
我是PHP和ZF2的新手。 我有一个paginator,我需要将排序、搜索和筛选从查询字符串中保留下来,如下所示:Pagination 带有查询字符串的ZF2分页器,pagination,routes,zend-framework2,query-string,Pagination,Routes,Zend Framework2,Query String,我是PHP和ZF2的新手。 我有一个paginator,我需要将排序、搜索和筛选从查询字符串中保留下来,如下所示: http://localhost:90/admin/analyses/list?page=1&filter_analyses_categories=1&orderBy=analyses_name&orderDirection=DESC 我读过关于路由的书,但我不知道如何在我的情况下使用。 在module.config.php中,我有: return arr
http://localhost:90/admin/analyses/list?page=1&filter_analyses_categories=1&orderBy=analyses_name&orderDirection=DESC
我读过关于路由的书,但我不知道如何在我的情况下使用。
在module.config.php中,我有:
return array(
'router' => array(
'routes' => array(
'home' => array(
'type' => 'Zend\Mvc\Router\Http\Literal',
'options' => array(
'route' => '/',
'defaults' => array(
'controller' => 'Admin\Controller',
'action' => 'index',
),
),
), //end home
'admin' => array(
'type' => 'Literal',
'options' => array(
'route' => '/admin',
'defaults' => array(
'__NAMESPACE__' => 'Admin\Controller',
'controller' => 'Index',
'action' => 'index',
),
),
'may_terminate' => true,
'child_routes' => array(
'default' => array(
'type' => 'Segment',
'options' => array(
'route' => '/[:controller[/:action][/page/:page]]',
'constraints' => array(
'controller' => '[a-zA-Z][a-zA-Z0-9_-]*',
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
),
'defaults' => array(
),
),
),
),
), //end admin
'paginator' => array(
'type' => 'segment',
'options' => array(
'route' => '',
'defaults' => array(
'page' => 1,
),
'may_terminate' => true,
'child_routes' => array(
'query' => array(
'type' => 'Query',
),
),
),
),//end paginator
),//end routes
),
);
分页器局部视图如下所示:
<?php foreach ($this->pagesInRange as $page): ?>
<?php if ($page != $this->current): ?>
<li>
<a href="<?php echo $this->url($this->route);?>?page=<?php echo $page; ?>">
<?php echo $page; ?>
</a>
</li>
<?php else: ?>
<li class="active">
<a href="#"><?php echo $page; ?></a>
</li>
<?php endif; ?>
<?php endforeach; ?>
为每个页面创建的链接如下所示:
没有其他查询字符串参数。
如何在保留其他查询字符串参数的情况下为每个页面获得正确的url?不要将页面参数作为查询字符串传递。请改用定义的管线参数:
$this->url('admin/default', ['page' => $page], true);
第三个参数保持您已经匹配的路径参数在paginator route上,我发布了一些我尝试过的内容,但不正确。分页器路由为:'paginator'=>array('type'=>'segment','options'=>array('route'=>'','defaults'=>array('page'=>1,),),查询字符串中的筛选器参数可以是以fitler_开头的任何变量。我需要的是一种方法,用paginator中的页面替换当前url中的页码。对不起,我没有提到您正在使用paginator路由。请改用您的管理/默认路由。查询路由类型已弃用。我无法理解您的意思预期与paginator路由有关。代码是由其他人编写的,我需要修复它。就像我说的,我是新手。我想要的是从查询字符串中为paginator的每个页面不断筛选、搜索和排序。