程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> Thinkphp中volist標簽mod控制一定記錄的換行BUG解決方法,thinkphpvolist

Thinkphp中volist標簽mod控制一定記錄的換行BUG解決方法,thinkphpvolist

編輯:關於PHP編程

Thinkphp中volist標簽mod控制一定記錄的換行BUG解決方法,thinkphpvolist


本文實例講述了Thinkphp中volist標簽mod控制一定記錄的換行BUG解決方法。分享給大家供大家參考。具體方法如下:

一、BUG描述:

存在於thinkphp 2.0 版本

Mod屬性還用於控制一定記錄的換行,例如:
復制代碼 代碼如下:<volist name="list" id="vo" mod="5" >
{$vo.name}
<eq name="mod" value="4"><br/></eq>
</volist>
上述文字節選自官方手冊

實際的執行結果是:
第一行 4個記錄(缺少一個)
第二行及後面行才是 5個記錄

二、修改意見:

ThinkPHP\Lib\Think\Template\TagLib\TagLibCx.class.php
line 107和line 108 位置互換一下
原代碼:
復制代碼 代碼如下:$parseStr .= '++$'.$key.';';
$parseStr .= '$mod = ($'.$key.' % '.$mod.' )?>';
修改後:
復制代碼 代碼如下:$parseStr .= '$mod = ($'.$key.' % '.$mod.' );';
$parseStr .= '++$'.$key.'?>';

希望本文所述對大家的ThinkPHP框架程序設計有所幫助。


有關thinkphp的volist換行問題

你這樣試試
<volist name="list" id="vo" key="k">
{$vo.title}<br/>
<if condition="($k-1)%5==4 and $k!=$count">
//前面的5相當於你的mod裡面的5,後面的4相當於你的value裡面的4,$count是統計總條數(在方法中使用assign輸出)
<br />
</if>
</volist>

下面這個方法也可以試試($count同上)
<volist name="list" id="vo" key="k" mod="5">
{$vo.title}<br/>
<eq name="mod" value="4"><neq name="k" value="$count"><br /></neq></eq>
</volist>
 

thinkphp的volist標簽,怎設置自增序號?希望頁面可以這展示,單1,2,3不是數據庫取出來的

請查看thinkphp的官方文檔第8章模板引擎第9節Volist標簽,其中提到volist的屬性中有一個key屬性,原文:
key(可選):循環的key變量,默認值為i這個就是你的自增序號,而且默認變量就是$i,也就是說在你的volist標簽之內,可以直接使用$i
<volist name="vlist" id="v"> <{$i}> // 直接使用$i</volist>
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved