今日小編想通過(guò)dedecms調(diào)用全站的一篇隨機(jī)文章,于是就想到了orderby='rand',我們可以通過(guò)下面的代碼來(lái)實(shí)現(xiàn):其中row=’1000′ 返回1000個(gè)文檔列表;pagesize=’1′從上面的1000個(gè)文檔列表中列出1個(gè);titlelen=’80′ 標(biāo)題長(zhǎng)度80;orderby=’rand’隨機(jī)獲取文章,如果你想多調(diào)用幾篇文章只需修改pagesize的值就行
{dede:arclist row='1000' pagesize='1' titlelen='80' orderby='rand'}<li><a href="[field:arcurl/]" title="[field:title /]">[field:title /]</a></li>{/dede:arclist}如果我們想通過(guò)自定義標(biāo)簽調(diào)用一篇文章呢?
我們登錄系統(tǒng)后臺(tái)找到[模板]-[標(biāo)簽源碼管理]

然后在右上角點(diǎn)擊[增加一個(gè)新的標(biāo)簽]

在文件名稱(chēng)那里修改為:randarc.lib.php,然后把下面的代碼全被拷貝到代碼框里覆蓋原來(lái)的代碼,然后保存

<?phpif(!defined('DEDEINC')){exit("Request Error!");}function lib_randarc(&$ctag , &$refObj){global $dsql;FillAttsDefault($ctag->CAttribute->Items ,"limit|1");extract($ctag->CAttribute->Items);$s = '';$tcp = new DedeTagParse();$tcp->SetNameSpace("field",'[',']');$tcp->LoadSource($ctag->GetInnerText());$sql = $query = "SELECT se.*,tp.typedir,tp.typename,tp.isdefault,tp.defaultname,tp.namerule,tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepathFROM `dede_archives` se LEFT JOIN `dede_arctype` tp ON se.typeid=tp.id WHERE 1 order by rand() limit $limit";$dsql->Execute("f",$sql);while($row1 = $dsql->GetArray("f")){$row1['arcurl'] = GetFileUrl($row1['id'],$row1['typeid'],$row1['senddate'],$row1['title'],$row1['ismake'],$row1['arcrank'],$row1['namerule'],$row1['typedir'],$row1['money'],$row1['filename'],$row1['moresite'],$row1['siteurl'],$row1['sitepath']);foreach($tcp->CTags as $k => $v ){$tcp->Assign($k , $row1[$v->GetName()]);}$s.=$tcp->GetResult();}return $s;}
如果你想調(diào)用隨機(jī)文章的話就可以通過(guò)dede:randarc實(shí)現(xiàn)了,其中l(wèi)imit=1代表調(diào)用一篇,想多篇的話只需修改limit的值即可。
{dede:randarc limit=1}<a href=[field:arcurl/]>[field:title/]</a>{/dede:randarc}
新聞熱點(diǎn)
疑難解答
圖片精選