溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Zend Framework如何實(shí)現(xiàn)留言本分頁(yè)功能

發(fā)布時(shí)間:2021-08-27 10:49:26 來(lái)源:億速云 閱讀:79 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)Zend Framework如何實(shí)現(xiàn)留言本分頁(yè)功能,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

具體如下:

第一步:在我們的控制器里面,也就是indexController.php里找到indexAction這個(gè)動(dòng)作.我們可以看到..在這個(gè)動(dòng)作里.我們相關(guān)教程只是取數(shù)據(jù)..我們現(xiàn)在把這個(gè)動(dòng)作(Action)改寫(xiě)成如下形式..如下代碼(有注解):

function indexAction()
{
$message=new message();//實(shí)例化數(shù)據(jù)庫(kù)類(lèi)
//取到所有留言getAllMessage,getAllReMessage
//二個(gè)方法在Model(Message.php)里定義的
//取到所有回復(fù)數(shù)據(jù)
$this->view->arrReviews=$message->getAllReMessage();
$page =1;//高置默認(rèn)頁(yè)
$numPerPage = 3;//每頁(yè)顯示的條數(shù)
if(isset($_GET['page']) && is_numeric($_GET['page'])){
   $page = $_GET['page'];//取到URL傳過(guò)來(lái)的頁(yè)數(shù)碼
}
$array=$message->getAllMessage();//取到所有留言數(shù)據(jù)
$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');//顯示模版腳文件
}

第二步:搞定我們要分頁(yè)的樣式,這里是以一個(gè)HTML設(shè)定分頁(yè)的樣式..在Zend Framework手冊(cè)上.提供了三種分頁(yè)顯示的方式...大家可以自己去看一下他們的用法..其實(shí)很簡(jiǎn)單的..我運(yùn)用了它的第一種.我們就在views/scripts/目錄下建立一個(gè)新的模板頁(yè)pagestyle.phtml..這個(gè)模板頁(yè)是和留言本header.phtml以及footer.phtml同一級(jí)的..因?yàn)槲覀兛赡芤院筮€會(huì)用到這個(gè)分頁(yè)方式..所以我就放在這里..:pagestyle.phtml代碼如下所示:(注意:在這里請(qǐng)?jiān)谀愕娜肟谖募ndex.php定義一下你的WEB_ROOT為全局變量,它就是你網(wǎng)站根目錄!):

if ($this->pageCount): ?>
class="paginationControl">
 if (isset($this->previous)): ?>
 "index/index/?page=
previous; ?> ">< 上一頁(yè) |
 else: ?>
 class="disabled">< 上一頁(yè) |
 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; ?>">下一頁(yè) >
 else: ?>
 class="disabled">下一頁(yè) >
 endif; ?>
 endif; ?>

第三步:找到留言本顯示頁(yè)的index.pthml模板頁(yè),把原來(lái):

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

這個(gè)換成

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

之后.我們?cè)僭谧詈竺婕右环猪?yè)的顯示:

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

關(guān)于“Zend Framework如何實(shí)現(xiàn)留言本分頁(yè)功能”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI