POST TIME:2020-04-10 20:30
在{dede:arclist/}這個標(biāo)簽中有個[field:global.autoindex/],是從0開始自增,如果我們想自定義一個數(shù)值,比如自定義從2開始。那么就可以寫成下面代碼:
[field:autoindex runphp='yes']@me=$GLOBALS['autoindex']+2;[/field:autoindex]
說明:+2就代表從2開始,-1就代表從-1開始。
注意:這個自增長需要到你的循環(huán)列表開始與結(jié)束之間!
在{dede:arclist/}這個標(biāo)簽中大家都知道有個[field:global.autoindex/],這個變量每生成一行就+1,那很多人希望{dede:sql/}標(biāo)簽也需要加上這個功能,很多朋友提問,肯定會認(rèn)為官方不會去做,其實(shí)不然,官方主要希望大家能夠一同分享這種使用、開發(fā)的小技巧,小經(jīng)驗(yàn),其實(shí)這個東西很簡單,自己稍微摸索下就可以知道。
下面我們就開始增加這個小擴(kuò)展,我們知道在V5.3中織夢的標(biāo)簽已經(jīng)分離出來,也就是類似于arclist這樣的標(biāo)簽可以自己修改或者二次開發(fā),程序這些標(biāo)簽存放的目錄在/include/taglib文件夾下面,我們可以看那個文件名,就很容易知道這些標(biāo)簽文件名和標(biāo)簽的對應(yīng)關(guān)系。
那我們現(xiàn)在需要修改的是{dede:sql/}這個標(biāo)簽,那我們就修改sql.lib.php這個文件。
打開后我們找到第34行,也就是代碼
$ctp->LoadSource($Innertext);
處,在下面加上以下一段代碼:
$GLOBALS['autoindex'] = 0;
這段代碼就是定義一個全局變量,并賦值為0,接下來我們只需要將下面代碼進(jìn)行下修改:
while($row = $dsql->GetArray($thisrs))
{
$sqlCt++;
foreach($ctp->CTags as $tagid=>$ctag){
if(!empty($row[$ctag->GetName()])){ $ctp->Assign($tagid,$row[$ctag->GetName()]); }
}
$GLOBALS['autoindex']++; //每循環(huán)一次加上一個1然后解析出來
$revalue .= $ctp->GetResult();
}
這樣一來,這個[field:global.autoindex/]標(biāo)簽就可以在那個{dede:sql/}中使用了,我們舉個例子:
{dede:sql sql='select * from