Zend Frameworkメッセージブックページング機能を実現(demoソースダウンロード付)

3420 ワード

この例では,Zend Frameworkがメッセージブックページング機能を実現する方法について述べる.皆さんの参考にしてください.具体的には以下の通りです.
ここのページング机能は运用しました..Zend_Paginatorというコンポーネントはメッセージブックのページを実現します...ここで私もPHPCHINAのPHPerの書いたこの方面の教程を参考にします
私が実現した悪い状況とプロジェクトのディレクトリの手配は第3編のチュートリアルの基礎の上で書いたのです..もし友达がカタログなどの手配が分からないなら..ZF 1を使ってください.6.0以上自分の前の文章でこのチュートリアルを探してください...私はここであまり何も言わない.ありがとう..
第一歩:私たちのコントローラの中で、つまりindexControllerです.phpでindexActionという動作を見つけた.我々は...この動作では私たちの関連チュートリアルはデータを取得するだけです.私たちは今この動作(Action)を次のように書き直します.次のコード(注記あり):

function indexAction()
{
$message=new message();//       
//      getAllMessage,getAllReMessage
//     Model(Message.php)    
//        
$this->view->arrReviews=$message->getAllReMessage();
$page =1;//     
$numPerPage = 3;//       
if(isset($_GET['page']) && is_numeric($_GET['page'])){
   $page = $_GET['page'];//  URL       
}
$array=$message->getAllMessage();//        
$paginator = Zend_Paginator::factory($array);
$paginator->setCurrentPageNumber($page)
    ->setItemCountPerPage($numPerPage);
$this->view->paginator = $paginator;
echo $this->view->render('header.phtml');//       
echo $this->view->render('message/index.phtml');//    
echo $this->view->render('footer.phtml');//       
}


ステップ2:改ページするスタイルを作成します.ここではHTMLで改ページするスタイルを設定します.Zend Frameworkマニュアルにあります.3つのページング方法が用意されています...みんなは自分で彼らの使い方を見てもいいです.実はとても简単です..私はその最初のものを運用しました.views/scriipts/ディレクトリの下に新しいテンプレートページpagestyleを作成します.phtml..このテンプレートページはメッセージ帳headerとphtmlおよびfooter.phtml同じレベルの..私たちは後でこのページング方法を使うかもしれません.だから私はここに置いておきます.pagestyle.phtmlコードは以下の通りです:(注意:ここではあなたのポータルファイルindex.phpであなたのWEB_ROOTをグローバル変数として定義してください.それはあなたのサイトのルートディレクトリです!):

if ($this->pageCount): ?>
class="paginationControl">
 if (isset($this->previous)): ?>
 "index/index/?page=
previous; ?> "><     |
 else: ?>
 class="disabled"><     |
 endif; ?>
 foreach ($this->pagesInRange as $page): ?>
  if ($page != $this->current): ?>
"index/index/?page=
">$page; ?> |
  else: ?>   = $page; ?> |
  endif; ?> endforeach; ?>
 if (isset($this->next)): ?>
 "index/index/?page=
next; ?>">    >
 else: ?>
 class="disabled">    >
 endif; ?>
 endif; ?>


ステップ3:メッセージブックの表示ページのindexを見つけます.pthmlテンプレートページ、元:

foreach($this->messages as $message): ?>


これを

if (count($this->paginator)): ?>
 $i=1; foreach ($this->paginator as $message): ?>


その後一番後ろにページを追加します.

= $this->paginationControl($this->paginator,
'Elastic', 'pagestyle.phtml'); ?>


これで...メッセージのページ分けが成功したのを見ることができます
完全なインスタンスコードはここをクリックして当駅でダウンロードします.
zendに関する詳細について興味のある読者は、「Zend FrameWorkフレームワーク入門チュートリアル」、「php優秀開発フレームワーク総括」、「Yiiフレームワーク入門および常用テクニック総括」、「ThinkPHP入門チュートリアル」、「phpオブジェクト向けプログラム設計入門チュートリアル」、「php+mysqlデータベース操作入門チュートリアル」および「phpよくあるデータベース操作テクニック要約」を参照してください.
Zend Frameworkフレームワークに基づくPHPプログラムの設計に役立つことを期待します.