2

您能否告诉我如何像这样与 Zend_Paginator 建立链接: http://url/controller/action?id=47&page=2。我想在 url 的查询中添加额外的参数,例如 url?id=value,而不是像这样的参数:url/controller/action/param/value。您能否请您告诉如何将视图变量传递给除页面之外的部分视图。谢谢你。

4

2 回答 2

1

有用于处理该问题的默认视图帮助程序 Url。

您可以使用以下内容生成您的网址:

echo $this->url(array('controller' => 'controllerName',
                      'action'     => 'actionName',
                      'param1'     => 'param1',
                      'param2'     => 'param2));

如果您省略了一些参数,帮助程序将重用查询 url 中的参数

所以,使用 Zend_Paginator 你可以这样:

$pages = $this->paginator->getPages();

// previous
echo $this->url(array('page' => ($pages->current -1)));

// current
echo $this->url(array('page' => ($pages->current)));

// next
echo $this->url(array('page' => ($pages->current +1)));

** 编辑 **

反映我的第一条评论的例子

echo $this->url(array('controller' => 'controllerName', 'action' => 'actionName')) . '?user=' . $id . '&page=' . $pageNumber
于 2011-01-14T18:28:11.190 回答
0

所以如果我正确理解这篇文章......这是你的解决方案,用于在 Paginator 的结果集中为每个后续页面加载保持 $_GET 或 $_POST 值?我有一个返回结果的搜索功能,但是当我尝试对结果进行分页时,后续页面加载会取消设置 $_POST 变量,并且我开始返回所有结果,因为通配符搜索变为SELECT * FROM table WHERE col LIKE '%%'. 不是我想要的

编辑:我将关键字加载到 zend_cache() 中,并通过 URI 传递缓存的 id(关键字的 md5() 值)在页面加载时调用它们。如果有人感兴趣,我会发布代码

于 2011-06-09T19:02:33.803 回答