0

zendを使用してjqueryモバイルフレームワークにページネーションを実装しようとしています。私はコントローラーから取った次のコードを持っています、

...
        $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}  
    ....

私がこれで間違ったこと。親切に私を助けてください。

4

2 に答える 2

1

この方法を試してください:

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

あなたの質問に答えるにはエラーが表示されます。なぜなら$this->message_listデバッグnullしようとするからですnull

于 2012-04-12T07:29:23.237 に答える
0

$paginatorビュー オブジェクトに変数が正しく設定されていることを確認してください。私はちょうどこの状況にあり、適切にそうしていないことに気づきました。

于 2014-03-06T08:37:05.563 に答える