2012-04-12 102 views
0

我想在jQuery的移动框架中使用zend实现分页。我有以下的代码已经从控制器采取zend中没有paginator实例提供或不正确的类型?

... 
     $message_list = $this->help->browse($browseArray); 
     $this->view->vCount = count($message_list); 
     $paginator = Zend_Paginator::factory($message_list); 
     $page = ($postData['page'] > 0) ? $postData['page'] : 1; 
     $paginator->setCurrentPageNumber($page); 
     $paginator->setItemCountPerPage(10); 
     $paginator->setPageRange(5); 

     $this->view->message_list = $paginator; 
.... 

我也采取下面的模板页面代码,

.... 
    <ul data-role="listview" data-theme="e"> 
     <?php foreach ($this->message_list as $key => $value) { ?> 
      <li> 
       <img src="<?php echo BASE_URL; ?>public/common/images/mobile/jqueryMobile200Thumb.jpg" alt="" /> 
       <h3><a href="<?php echo $this->url(array("controller" => "help", "action" => "dohelp", "id" => $value['helpid'])); ?>"><?php echo $value['title']; ?></a></h3> 
       <p><?php echo $value['content']; ?></p> 
      </li> 
     <?php } ?>  
      <li> 
       <?php echo $this->paginationControl($this->message_list, 'Sliding', 'pagination.phtml'); ?> 
      </li>   
    </ul> 
.... 

,当我跑的网站,我得到了以下异常

 Exception information: 

     Message: No paginator instance provided or incorrect type 
     Stack trace: 

     #0 [internal function]: Zend_View_Helper_PaginationControl->paginationControl(NULL, 'Sliding', 'pagination.phtm...') 
#1 C:\xampp\htdocs\test\library\Zend\View\Abstract.php(350): call_user_func_array(Array, Array) 
#2 C:\xampp\htdocs\test\application\mobile\views\scripts\help\messagelist.phtml(32): Zend_View_Abstract->__call('paginationContr...', Array) 
#3 C:\xampp\htdocs\test\application\mobile\views\scripts\help\messagelist.phtml(32): Zend_View->paginationControl(NULL, 'Sliding', 'pagination.phtm...') 
#4 C:\xampp\htdocs\test\library\Zend\View.php(108): include('C:\xampp\htdocs...') 
#5 C:\xampp\htdocs\test\library\Zend\View\Abstract.php(888): Zend_View->_run('C:\xampp\htdocs...') 
#6 C:\xampp\htdocs\test\library\ZC\Controller\Plugin\Mobile.php(54): Zend_View_Abstract->render('help/messagelis...') 
#7 C:\xampp\htdocs\test\library\Zend\Controller\Plugin\Broker.php(287): ZC_Controller_Plugin_Mobile->dispatchLoopStartup(Object(Zend_Controller_Request_Http)) 
#8 C:\xampp\htdocs\test\library\Zend\Controller\Front.php(928): Zend_Controller_Plugin_Broker->dispatchLoopStartup(Object(Zend_Controller_Request_Http)) 
#9 C:\xampp\htdocs\test\library\Zend\Application\Bootstrap\Bootstrap.php(97): Zend_Controller_Front->dispatch() 
#10 C:\xampp\htdocs\test\library\Zend\Application.php(366): Zend_Application_Bootstrap_Bootstrap->run() 
#11 C:\xampp\htdocs\test\index.php(34): Zend_Application->run() 
#12 {main} 
    .... 

我在这做错了什么。请帮助我。

回答

1

试试这个方法:

$paginator = new Zend_Paginator(new Zend_Paginator_Adapter_Array($message_list)); 

要回答你出现错误的问题,因为$this->message_listnull尝试调试它为什么null

+0

谢谢,仍然得到相同的错误... – mymotherland 2012-04-12 07:32:24

+0

然后什么var_dump($ this-> message_list)返回? – Vytautas 2012-04-12 07:35:48

+0

var_dump($ this-> message_list)返回NULL.its很奇怪。如果我删除代码$ this-> paginationControl($ this-> message_list,'Sliding','pagination.phtml'),那么我得到结果 – mymotherland 2012-04-12 07:39:54

0

检查是否已正确设置$paginator变量视图对象。我刚刚遇到这种情况,发现我没有这么做。