首先看看遇到的問題,看圖:

phpcms V9頁面loop標(biāo)簽$n變量不明問題:
一個JS,用category標(biāo)簽loop循環(huán)出網(wǎng)站行業(yè)分類,缺省情況為‘綜合服務(wù)’一欄被選中,有一個class='open',其他為未選中狀態(tài),這里可以用v9的$n進行處理,看代碼:
注意,為了防止網(wǎng)站對html跟php代碼的轉(zhuǎn)換,這里在li標(biāo)簽及php標(biāo)簽內(nèi)加了一個小點,下同.
- ...(省略前面部分代碼)
- {loop $data $k $v}
- <.li>$n==1}class='open'{/if}>{$v[catname]}<./li> <.li style="list-style: none">
- ...(省略后面部分代碼)
這里這個$n是v9本身就存在的,無需聲明就可以直接使用的一個循環(huán)變量,官方默認(rèn)模板也是直接使用,按理說這行代碼不存在問題,但是結(jié)果是上圖所有的catname都處于選中狀態(tài),把{$n}打印出來 全部是1,一下子想不明白為什么,上網(wǎng)問了一下網(wǎng)友,網(wǎng)友給出的答案是他的$n是正常++的,于是我把{if}條件寫到外面,結(jié)果$n還是恒為1,不知原因何在,為了解決這個問題,Cesc自行增加了一個變量$a,看代碼:
- ...(省略前面部分代碼)
- <.?php $a = 0;?>
- {pc:content action="category" catid="11" num="25" siteid="$siteid" order="listorder ASC"} //Vevb.com
- {loop $data $k $v}
- <.?php $a++; ?>
- <.li>{$v[catname]}<./li> <.li style="list-style: none">
- ...(省略后面部分代碼)
這里 可以直接在模板內(nèi)部使用原生php代碼 定義一個++的$a變量,當(dāng)程序循環(huán)生成頁面的時候$a隨著loop自增,最終得到上圖的效果,但是為什么loop的時候會出現(xiàn)$n不自增,始終為1的情況,有待考證.
新聞熱點
疑難解答
圖片精選