当前位置:首页 > CPE路由器 > 正文

今日小编想通过dedecms调用全站的一篇随机文章,于是就想到了orderby= rand ,我们可以通过下面的代码来实现:其中row= 1000 返回1000个文档列表;pagesize= 1 从上面的1000个文档列表中列出1个;titlelen= 80 标题长度80;orderby= ran

【导读】dedecms通过自定义标签实现随机调用一篇文章,下面就是路由器之家整理的网络知识百科,来看看吧!

今日小编想通过dedecms调用全站的一篇随机文章,于是就想到了orderby='rand',我们可以通过下面的代码来实现:其中row=’1000′ 返回1000个文档列表;pagesize=’1′从上面的1000个文档列表中列出1个;titlelen=’80′ 标题长度80;orderby=’rand’随机获取文章,如果你想多调用几篇文章只需修改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}

如果我们想通过自定义标签调用一篇文章呢?

我们登录系统后台找到[模板]-[标签源码管理]

dedecms通过自定义标签实现随机调用一篇文章(dedecms通过自定义标签实现随机调用一篇文章)

然后在右上角点击[增加一个新的标签]

dedecms通过自定义标签实现随机调用一篇文章(dedecms通过自定义标签实现随机调用一篇文章)

在文件名称那里修改为:randarc.lib.php,然后把下面的代码全被拷贝到代码框里覆盖原来的代码,然后保存

dedecms通过自定义标签实现随机调用一篇文章(dedecms通过自定义标签实现随机调用一篇文章)

<?php

if(!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.sitepath

FROM `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;

}

如果你想调用随机文章的话就可以通过dede:randarc实现了,其中limit=1代表调用一篇,想多篇的话只需修改limit的值即可。

{dede:randarc limit=1}<a href=[field:arcurl/]>[field:title/]</a>{/dede:randarc}

亲,以上就是关于(dedecms通过自定义标签实现随机调用一篇文章),由“路由器之家”整理!

如果您对该产品感兴趣,请填写办理(客服微信:xiaoxiongyidong)

为您推荐:

发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。