POST TIME:2017-11-13 23:38
很多朋友知道,dedecms模板系統(tǒng)中,{dede:arclist/}標(biāo)簽里有個(gè)[field:global.autoindex/]標(biāo)簽。
這個(gè)標(biāo)簽用處可大了。它可以讓arclist每生成一行文章就自動(dòng)累加1。非常不錯(cuò)的功能。很多dedecms模板制作中,會(huì)使用這個(gè)標(biāo)簽。
最常見的例子,就是在dedecms官方模板中,顯示幻燈片的一短js代碼中,細(xì)心的朋友可以看到這個(gè)[field:global.autoindex/]標(biāo)簽。
但可惜的是,好象只有{dede:arclist/}標(biāo)簽支持這個(gè)自動(dòng)累加的功能。
如何把這個(gè)自動(dòng)增1的變量擴(kuò)展應(yīng)用到其他標(biāo)簽中呢?這里給大家一個(gè)小技巧。
比如:我們想在{dede:sql/}標(biāo)簽中使用[field:global.autoindex/]標(biāo)簽。
那我們可以修改sql.lib.php這個(gè)文件(文件路徑為官方程序目錄\include\taglib)。
打開后我們找到第34行,也就是代碼
$ctp->LoadSource($Innertext);
處,在下面加上以下一段代碼:
$GLOBALS['autoindex'] = 0;
這里的目的是定義一個(gè)全局變量autoindex,并賦值為0,接下來我們來修改下面的代碼:
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)一次加上一個(gè)1然后解析出來
$revalue .= $ctp->GetResult();
}
注意紅色的部分,是我們加上的代碼,含義很清楚,每循環(huán)一次,就讓變量autoindex累加1。
這樣,這個(gè)[field:global.autoindex/]標(biāo)簽就可以在那個(gè){dede:sql/}中使用了,我們舉個(gè)例子:
{dede:sql sql='‘}
[field:global.autoindex/]-[field:title/]</br>
{/dede:sql}
使用方法,同dedecms默認(rèn)模板完全一樣。
簡(jiǎn)單吧,呵呵。希望大家喜歡這個(gè)教程。