Smartyforeach添加論壇樓層計(jì)數(shù)(counter)-創(chuàng)新互聯(lián)

   在當(dāng)初Smarty很菜的時(shí)候,用PHP寫了個(gè)微型論壇,有一個(gè)需求是在樓主后面顯示當(dāng)前是幾樓回復(fù),如下圖:

創(chuàng)新互聯(lián)公司于2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目做網(wǎng)站、成都做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元義安做網(wǎng)站,已為上家服務(wù),為義安各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220

   

  我當(dāng)時(shí)首先想到用 iteration(邊界符為“<{}>”):

 <{foreach from=$res item=row name=thread}>

    <{if $smarty.foreach.thread.iteration-1 eq 0}>
                樓主
<{else}>
              <{$smarty.foreach.thread.iteration-1}>樓</font>
           <{/if}>

    <{/foreach}>

       這里foreach中自帶的屬性iteration,是指當(dāng)前foreach循環(huán)的次數(shù),從1開始(第一個(gè)不是0,而是1)

    其實(shí)這樣寫有個(gè)很大的問(wèn)題,因?yàn)檫@里的 iteration 只作用于當(dāng)前這個(gè)foreach,而當(dāng)你翻頁(yè),進(jìn)入下一頁(yè)的時(shí)候問(wèn)題就來(lái)了,如圖:

    

    看到了問(wèn)題嗎?第二頁(yè)首個(gè)回復(fù)的作者成了樓主?。?!

    好了,接下來(lái)就給出我自己的方法,其實(shí)就是用了 html中 的<input type="hidden">,在其中填入自增計(jì)算,在foreach開始之前assign一個(gè)變量,初始值在控制器里設(shè)置好,代碼如下:

    控制器:

    計(jì)算出當(dāng)前要顯示的頁(yè)面的 offset

//$fenyePage->pageNow   當(dāng)前頁(yè)數(shù)值
//$fenyePage->pageSize   每頁(yè)顯示的樓層數(shù) (我這里設(shè)置的是3)
//通過(guò)計(jì)算就得出每一頁(yè)開始時(shí) 樓層($floor)的起始值$floor=($fenyePage->pageNow-1)*$fenyePage->pageSize;
    
$smarty->assign("flr",$floor);

    TPL:

<{assign var="floor" value=$flr}>

<{foreach from=$res item=row name=thread}>

       <{if $floor eq 0}>
                樓主
<{else}>
              <{$floor}>樓</font>
           <{/if}>

      <input type="hidden" value="<{$floor++}>" />

 <{/foreach}>

    這樣一來(lái),就沒(méi)問(wèn)題了,即使翻頁(yè),樓層也會(huì)接著上一頁(yè)的樓層計(jì)數(shù)繼續(xù)顯示。

分享題目:Smartyforeach添加論壇樓層計(jì)數(shù)(counter)-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://bm7419.com/article20/hseco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、響應(yīng)式網(wǎng)站、全網(wǎng)營(yíng)銷推廣手機(jī)網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)