2011-01-14 39 views
2

你能告诉我如何使链路与Zend_Paginator的是这样的: http://url/controller/action?id=47&page=2。 ? 我要添加到URL的附加参数设置为一样网址ID =值网址的查询,而不是paramater像这样的: 网址/控制器/动作/参数/值。你也可以告诉请如何通过一个变量来查看部分页面。 谢谢。Zend_Paginator的链接PARAMS

+0

这不是平常这里来编辑一个问题添加其他的问题,一旦你已经开始得到答案,你应该已经打开了另外一个。看看这个链接的答案http://framework.zend.com/manual/en/zend.view.helpers.html#zend.view.helpers.initial.placeholder – 2011-01-15 16:39:11

回答

1

有默认的视图助手URL,它是用于处理制成。

可以生成以下网址:

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

如果忽略一些则params的,助手将重用那些被查询网址

所以,用的是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))); 

**编辑**

为例,以反映米y个第一评论

echo $this->url(array('controller' => 'controllerName', 'action' => 'actionName')) . '?user=' . $id . '&page=' . $pageNumber 
+0

这将增加partamaters但我需要添加到URL像这个url?id = value。 – Oleg 2011-01-14 18:33:38

+0

你可以只生产自己的基本网址与助手并连接你的字符串给它,使它象:控制器/动作ID =值 – 2011-01-14 18:38:38

0

所以,如果我理解这个职位(S)正确...这是你的Paginator'ed结果集内作出$ _GET或$ _POST值持续为每个后续页面加载解决方案?我有一个返回结果的搜索函数,但是当我尝试通过结果分页时,后续页面加载了$ _POST变量的复位并且我开始返回所有结果,因为通配符搜索变为SELECT * FROM table WHERE col LIKE '%%'。不是我想要的

编辑:我将关键字加载到zend_cache()中,并通过URI的方式传递缓存的id(关键字的md5()值),从而在页面加载时将其返回。如果任何人的兴趣,我会张贴代码