在 ZF 分页中将 userid 参数添加到路由配置

add userid parameter to route configuration in ZF pagination

到目前为止,这是我的代码:

<?php 
echo $this->paginationControl($this->paginator,'sliding','partial/paginator.phtml',array('route' => 'adminuserlog'));
?>

我的错误是:

Missing parameter "userid"

如何将 userid 参数附加到调用的路由部分?用户id的值为$this->user->getId()

PaginationControl viewHelper 的最后一个参数是将数据传递给分页的方式 partial/view。

echo $this->paginationControl(
    $this->paginator,
    'sliding',
    'partial/paginator.phtml',
    array(
        'route' => 'adminuserlog',
        'routeParams' => array('userId' => $this->user->getId())
    ),
);

由于 partial/paginator.phtml 只是一个视图,我们可以使用 $route$this->route.

访问任何视图变量

更新您的 partial/paginator.phtml 文件以包含 $routeParams:

$routeParams = isset($this->routeParams) && is_array($this->routeParams) ? $this->routeParams : [];
$queryParams = isset($this->queryParams) && is_array($this->queryParams) ? $this->queryParams : [];

$urlOptions = ['query' => $queryParams];

// Rendering a button and usage of the URL viewhelper
<a href="<?= $this->url(
    $route,
    $routeParams,
    ArrayUtils::merge($urlOptions, ['query' => ['page' => $this->first]])
); ?>">
    <span aria-hidden="true">&laquo;</span>
</a>