【小(xiǎo)編推薦】ThinkPHP3.2——Volist标簽

2014-06-26  &nbs'♥§p;|   發布®♠"者:梁國(guó)芳   | ✘​;  查看(kàn):332₹±δλ0次

Thinkphp

volist标簽通(tōng)常用(yòng)于≤♦>查詢數(shù)據集(select方法)的(de)結果輸出,通€★α‍(tōng)常模型的(de)select方¶×Ω<法返回的(de)結果是(shì)一(yī)個(gè)二維數(sγ hù)組,可(kě)以直接使用(yòng)volβ ©∑ist标簽進行(xíng)輸出。 在控制(zhì)器(>​πqì)中首先對(duì)模版賦值:

  1. $User = M('User');
  2. $list = $User->limit(10)->select();
  3. $this->assign('list',$list);

在模版定義如(rú)下(xià),循環輸出用(yòng)戶的(de)編♠<$★号和(hé)姓名:

  1. <volist name="list" id="vo">
  2. {$vo.id}:{$vo.name}<br/>
  3. </volist>

Volist标簽的(de)name屬性表示模闆賦值的(de)變σπ量名稱,因此不(bù)可(kě)随意在模闆文(wén)≈σ★↓件(jiàn)中改變。id表示當前的(de✘×)循環變量,可(kě)以随意指定,但(dàn)↔£确保不(bù)要(yào)和(hé)name屬™α‌∑性沖突,例如(rú):

  1. <volist name="list" id="data">
  2. {$data.id}:{$data.name}<br/>
  3. </volist>

支持輸出查詢結果中的(de)部分(fēn)數(shù)據,例如(rú± ≤≠)輸出其中的(de)第5~15條記錄

  1. <volist name="list" id="vo" offset="5" length='10'>
  2. {$vo.name}
  3. </volist>

輸出偶數(shù)記錄

  1. <volist name="list" id="vo" mod="2" >
  2. <eq name="mod" value="1">{$vo.name}</eq>
  3. </volist>

Mod屬性還(hái)用(yòng)于控制(zhì₩<)一(yī)定記錄的(de)換行(xíng),例如(rú)™₹•:

  1. <volist name="list" id="vo" mod="5" >
  2. {$vo.name}
  3. <eq name="mod" value="4"><br/></eq>
  4. </volist>

為(wèi)空(kōng)的(de)時(shí)£§λ候輸出提示:

  1. <volist name="list" id="vo" empty="暫時(shí)沒有(yǒu)數(shù)據" >
  2. {$vo.id}|{$vo.name}
  3. </volist>

empty屬性不(bù)支持直接傳入html語法,但(dàn)可(kě)以支持★≈變量輸出,例如(rú):

  1. $this->assign('empty','<span class="empty&quo≠₹t;>沒有(yǒu)數(shù)據</sp✔♥↓σan>');
  2. $this->assign('list',$list);

然後在模闆中使用(yòng):

  1. <volist name="list" id="vo" empty="$empty" >
  2. {$vo.id}|{$vo.name}
  3. </volist>

輸出循環變量

  1. <volist name="list" id="vo" key="k" >
  2. {$k}.{$vo.name}
  3. </volist>

如(rú)果沒有(yǒu)指定key屬性的(de)話(h¶₩uà),默認使用(yòng)循環變量i,例如(rú):

  1. <volist name="list" id="vo" >
  2. {$i}.{$vo.name}
  3. </volist>

如(rú)果要(yào)輸出數(shù)組₹≤≠ε的(de)索引,可(kě)以直接使用(yòng)key變量,和₹ (hé)循環變量不(bù)同的(de)是(shì©π♥δ),這(zhè)個(gè)key是(shì)¶‌由數(shù)據本身(shēn)決定,而不(bù)是(sh↑™ ì)循環控制(zhì)的(de),例如(rú):

  1. <volist name="list" id="vo" >
  2. {$key}.{$vo.name}
  3. </volist>

模闆中可(kě)以直接使用(yòng)函數(shù)設定數(s↓'Ωhù)據集,而不(bù)需要(yào)在控制(zhì)器(qì)中給模闆變量賦¶‍βσ值傳入數(shù)據集變量,如(rú):

  1. <volist name=":fun('arg')" id="vo">
  2. {$vo.name}
  3. </volist>