我有一个来自控制器的动作,它通过$this->set('found_products', $data);
. 视图页面products.ctp
分为两个部分:
$found_products
在顶部,为视图设置了一个用户输入字符串进行搜索的表单。$found_products
在其下方,仅在设置时显示的分页结果。即是真if (isset($found_products))
的。
如果if (isset($found_products))
为真,我会在表单下方显示第一页,其中搜索字符串已经在文本框中。这个 URL 是myapp/controller/products
.
当我进入下一页时会出现问题。URL 变为myapp/controller/action/products:2
并且不存在下使用的任何变量myapp/controller/products
。看起来移动到新页面会清除所有变量。下面是我用于分页的代码,我没有为此编写重新路由规则。我该如何解决这个问题?
<div class="paging">
<?php echo $this->Paginator->prev('<< ' . __('previous', true), array(), null, array('class'=>'disabled'));?>
<?php echo $this->Paginator->numbers();?>
<?php echo $this->Paginator->next(__('next', true) . ' >>', array(), null, array('class' => 'disabled'));?>
</div>
我尝试在操作 ( products
) 中使用 $_SESSION 来解决这个问题,并将其设置为视图,但是当我这样做时,`$this->Paginator' 不再起作用。