Zend_Paginator与查询参数链接

时间:2011-01-14 18:12:27

标签: zend-framework zend-paginator

您能告诉我如何与Zend_Paginator建立链接: http://url/controller/action?id=47&page=2。 我想添加url额外的参数来查询url,如url?id = value,而不是像这样的参数: URL /控制器/动作/ PARAM /值。你能告诉我如何将视图变量传递给页面以外的部分变量。 谢谢。

2 个答案:

答案 0 :(得分:1)

有一个默认的视图帮助器Url,用于处理它。

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

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

如果省略某些参数,帮助程序将重复使用查询网址中的参数

所以,使用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

答案 1 :(得分:0)

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

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