pagination php带参数,php – 如何在paginationControl中指定带参数的路由?

我正在尝试在我的新闻源上创建分页.我的新闻Feed中有两种模式:所有新闻Feed和按类别提供的Feed.所有新闻Feed的分页工作正常,但我有“按类别分类”分页的问题.

我像这样使用paginationControl:

=$this->paginationControl(

$this->news,

'Sliding',

'pagination_control',

array('route' => 'news/category')

)?>

路线新闻/类别配置:

'category' => array(

'type' => 'Segment',

'options' => array(

'route' => '/:category[/page-:page]',

'constraints' => array(

'category' => '[a-z]+',

'page' => '[1-9][0-9]*',

),

'defaults' => array(

'controller' => 'News\Controller\Item',

'action' => 'category',

'page' => 1,

)

),

'may_terminate' => true,

),

所以我需要指定参数类别.我在尝试这个:

=$this->paginationControl(

$this->news,

'Sliding',

'pagination_control',

array('route' => 'news/category', array('category' => $this->category->getUrl()))

)?>

但我收到错误“缺少参数…”:

看起来无法通过paginationControl设置参数.

如何在paginationControl中正确指定带参数的路由?

更新1

我的paginationControl视图如下所示:

<?php if ($this->pageCount > 1): ?>

<?php if (isset($this->previous)): ?>

«

else: ?>

«

endif; ?>

foreach ($this->pagesInRange as $page): ?>

if ($page != $this->current): ?>

=$page?>

else: ?>

=$page?>

endif; ?>

endforeach; ?>

<?php if (isset($this->next)): ?>

»

»

="Страница ".$this->current." из ".$this->pageCount?>

解决方法:

您应该将所有其他参数作为关联数组传递到最后,如@ rianattow所说.通过这种方式,所有参数都可以通过$this-> paramname在pagination_control.phtml部分中访问

例:

echo $this->paginationControl(

$this->news,

'Sliding',

'pagination_control',

array( 'route' => 'news/category', 'category' => 'banana')

);

The fourth and final parameter is reserved for an optional associative

array of additional variables that you want available in your view

(available via $this). For instance, these values could include extra

URL parameters for pagination link.

我认为其他缺点是使用路由名称构建URL.不要将url作为参数传递给paginationControl()助手,而是尝试在分页部分内生成url,如下所示:

希望能帮助到你.

标签:php,pagination,zend-framework2

来源: https://codeday.me/bug/20190728/1561674.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值