這是使用內(nèi)容管理后臺程序經(jīng)常用到的方法,讓文章或圖集按照權(quán)重排名。如不規(guī)則圖片的布局排列,用CSS的position定位每一張圖的位置,這里介紹dedecms利用arclist或list標(biāo)簽讓文章或圖集按權(quán)重排列方法。
文章按權(quán)重數(shù)值排名(arclist標(biāo)簽)
在用編輯器編輯文章的時候有一個權(quán)重的設(shè)置,越小越靠前,利用arclist標(biāo)簽里加上orderby=‘weight’,但是沒有任何效果,其實是系統(tǒng)默認(rèn)不開啟文章按權(quán)重排名。
編寫網(wǎng)上有介紹修改dedecms V5.7源文件的方法,其實只要按照如下的方法即可。
{dede:arclist titlelen='38' isweight='y' orderby='weight' orderway='asc'} <li><a href="[field:arcurl/]">[field:title/]</a></li> {/dede:arclist}
圖集按權(quán)重數(shù)值排名(arclist標(biāo)簽)
找到/dede/album_edit.php,在171行
dutyadmin='$adminid'
后面添加一個英文逗號,然后換行添加
weight='$weight'
至此,圖片集的權(quán)重即可自由修改了。也可以隨意調(diào)整圖片集的位置了。
用list標(biāo)簽實現(xiàn)上述按權(quán)重數(shù)值排名
list標(biāo)簽不支持orderby='weight'
1.打開根目錄下的include文件夾下的arc.listview.class.php文件。
2.查找
else if($orderby=="lastpost") {
大概在609行,在此行前面按下回車健,加入下語句
else if($orderby=="weight") {$ordersql = " order by arc.weight $orderWay"; }
3.查找
if(preg_match('/hot|click|weight|lastpost/', $orderby))
大概在758行附近,修改為
if(ereg('hot|click|weight|lastpost',$orderby))
4.前臺模板調(diào)用標(biāo)簽為:
{dede:list pagesize='10'orderby='weight'orderway='asc' }[field:textlink/]{/dede:list}