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